CS 145A Case Study: Simplified BGP Finite State Machine Netlab.caltech.edu/course.

Slides:



Advertisements
Similar presentations
COEN 445 Lab 7 Wireshark Lab: IP Claude Fachkha.
Advertisements

CCNP Network Route BGP Part -I BGP : Border Gateway Protocol. It is a distance vector protocol It is an External Gateway Protocol and basically used for.
IPv6 – IPv4 Network Address, Port & Protocol Translation & Multithreaded DNS Gateway Navpreet Singh, Abhinav Singh, Udit Gupta, Vinay Bajpai, Toshu Malhotra.
Cs/ee 143 Communication Networks Chapter 6 Internetworking Text: Walrand & Parekh, 2010 Steven Low CMS, EE, Caltech.
LBSC 690 Session #2 FTP, "Hello World!" HTML Jimmy Lin The iSchool University of Maryland Wednesday, September 10, 2008 This work is licensed under a Creative.
Network Layer Packet Forwarding IS250 Spring 2010
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization –All routers are identical –Network is flat. Not true in Practice Hierarchical.
CSEE W4140 Networking Laboratory Lecture 3: IP Forwarding and ICMP Jong Yul Kim
Networks: HTTP and DNS1 Internet, HTTP and DNS Examples.
© 2009 Cisco Systems, Inc. All rights reserved. ROUTE v1.0—6-1 Connecting an Enterprise Network to an ISP Network Considering the Advantages of Using BGP.
ICMP: Ping and Trace CCNA 1 version 3.0 Rick Graziani Spring 2005.
1 ICMP – Using Ping and Trace CCNA Semester
CS 356 Systems Security Spring Dr. Indrajit Ray
Petrozavodsk State University, Alex Moschevikin, 2003NET TECHNOLOGIES Internet Control Message Protocol ICMP author -- J. Postel, September The purpose.
Socket Lab Info. Computer Network. Requirement Use TCP socket to implement a pair of programs, containing a server and a client. The server program shall.
Border Gateway Protocol
CS/EE 145A Reliable Transmission over Unreliable Channel Netlab.caltech.edu/course.
Module 12: Routing Fundamentals. Routing Overview Configuring Routing and Remote Access as a Router Quality of Service.
CS/EE 145A Congestion Control Netlab.caltech.edu/course.
Hour 7 The Application Layer 1. What Is the Application Layer? The Application layer is the top layer in TCP/IP's protocol suite Some of the components.
CS 241 Section (04/19/12). MP8  Web Server  Due: Tuesday, May 1 st, 11:59pm  What will you be doing?  Creating a web-server in C that serves HTML.
Internet A simple introduction 黃韻文 申逸慈.
Chapter 23: ARP, ICMP, DHCP CS332, IS333 Spring 2014.
CSC 450/550 Part 1: Introduction. CSC 450/550 Summary (1)Contact information (2)Course objective and topics (3)Course evaluation (4)* The layering principle.
CS 145A Implementation Issues Netlab.caltech.edu/course.
CS433/533 Assignment 4 Overview. Fishnet Network protocol simulator & emulator Read fishnet-intro.pdf Get started Network topology (.topo) for emulator.
Computer Science, FSU1 CNT5505 DATA/COMUTER COMMUNICATIONS FALL 2008 Time: 3:35AM-4:50AM, MW Location: Love 103 Fall 2008, 3 credits.
ICMP : Internet Control Message Protocol
IP Telephone Lab 1 Connectivity Test IP Telephone Lab 2 Outline Ping & ICMP Fast Ping (fping) & AutoStatus One-Way Ping.
1 Introduction to TCP/IP. 2 OSI and Protocol Stack OSI: Open Systems Interconnect OSI ModelTCP/IP HierarchyProtocols 7 th Application Layer 6 th Presentation.
1 Requirements for Internet Routers (Gateways) and Hosts Relates to Lab 3. (Supplement) Covers the compliance requirements of Internet routers and hosts.
Advanced Packet Analysis and Troubleshooting Using Wireshark 23AF
CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable.
Routing in the Inernet Outcomes: –What are routing protocols used for Intra-ASs Routing in the Internet? –The Working Principle of RIP and OSPF –What is.
Computer Science, FSU1 CNT5505 DATA/COMUTER COMMUNICATIONS Fall 2010.
Routing Information Protocol
CS 145A Protocols Netlab.caltech.edu/course. Misc. Extension Extension Textbooks Textbooks.
1 INTRA- AND INTERDOMAIN ROUTING Routing inside an autonomous system is referred to as intradomain routing. Routing between autonomous systems is referred.
CS/EE 145A Reliable Transmission over Unreliable Channel II Netlab.caltech.edu/course.
BGP Basics BGP uses TCP (port 179) BGP Established unicast-based connection to each of its BGP- speaking peers. BGP allowing the TCP layer to handle such.
J. Liebeher (modified by M. Veeraraghavan) 1 Introduction Complexity of networking: An example Layered communications The TCP/IP protocol suite.
CS 145A Reliable Communication Netlab.caltech.edu/course.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Internet Control Message Protocol (ICMP)
Connecting an Enterprise Network to an ISP Network
Traceroute traceroute is a Unix utility designed by Van Jacobson in 1987 The Windows equivalent is called tracert The Linux equivalent is called tracepath.
Introduction to TCP/IP
Networking COMP
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Internet Control Message Protocol
8 Network Layer Part V Computer Networks Tutun Juhana
ICMP – Using Ping and Trace
Network Architecture Introductory material
Internet Control Message Protocol (ICMP)
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Chapter 1: Introduction
Internet Control Message Protocol (ICMP)
ICMP – Using Ping and Trace
Internet Control Message Protocol (ICMP)
The Internet and HTTP and DNS Examples
Review of Important Networking Concepts
Internet Control Message Protocol (ICMP)
Internet Control Message Protocol (ICMP)
Web Design & Development
Lecture 6: TCP/IP Networking 1nd semester By: Adal ALashban.
Starting TCP Connection – A High Level View
Internet Applications & Programming
ITIS 6167/8167: Network and Information Security
Computer Networks Protocols
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Presentation transcript:

CS 145A Case Study: Simplified BGP Finite State Machine Netlab.caltech.edu/course

Today Brief Introduction of routing protocols Brief Introduction of routing protocols An example of Finite State Machine An example of Finite State Machine Lab 3 Lab 3

What does the Internet look like? Example: (/sbin/traceroute) Example: (/sbin/traceroute) C:\>tracert cwis.usc.edu Tracing route to cwis.usc.edu [ ] 1 <1 ms Jorgensen-RSM-44.caltech.edu [ ] 2 <1 ms Booth-border.ilan.caltech.edu [ ] 3 <1 ms CalREN-Caltech.caltech.edu [ ] 4 <1 ms JPL--CIT.POS.calren2.net [ ] 5 1 ms UCLA--JPL.POS.calren2.net [ ] 6 1 ms ISI--UCLA.POS.calren2.net [ ] 7 2 ms USC--ISI.POS.calren2.net [ ] 8 3 ms rtr43-c2-gw.usc.edu [ ] 9 2 ms rtr-gw-1.usc.edu [ ] 10 2 ms cwis.usc.edu [ ]

Topology of the Network

The Journey of a packet (1) >

The Journey of a packet (2) IP MAC Physic Get a packet From Ethernet It ’ s for 00:90:6D:E7:D4:00. That ’ s me. I should accept it.

The Journey of a packet (2) IP MAC “ OK, I am 00:90:6D:E7:D4:00 ” Pass the packet to IP Physic Get a packet from ethernet for : 00:90:6D:E7:D4:00

The Journey of a packet (2) IP [IP] Header: From to “ ” “ Should go to next router: ” MAC “ OK, I am 00:90:6D:E7:D4:00 ” Pass the packet to IP Physic Get a packet from ethernet for: 00:90:6D:E7:D4:00

Necessary Information (1) Where shall I pass the packet, for a given destination IP address? – Routing Table Where shall I pass the packet, for a given destination IP address? – Routing Table Exmaple: Exmaple: route DestinationGatewayGen-maskFlagsInterface * UEth * Ulo default UFEth0

How can the routers know the routing information?

How? Manually add/delete routing entries Manually add/delete routing entries Automatically exchange routing information between routers. Automatically exchange routing information between routers.

Routing Protocol A: hi, are you there? B: yes. A: Can I tell you a piece of news? B: Sure. A: I have a way to get to B: ok. I will send you all the packets that are going to … B: Hi, Can I tell you some news, too? A: Yes! B: I can connect to all the machines in “ cs.caltech.edu ” A: ok. I will send you all the packets that are going to “ cs.caltech.edu ”. ……

Routing Protocol A to C: hi, are you there?... … A to B: I think C is down. And from now on, I cannot contact USC. B: OK. I will try other paths when I get packets for USC. …

Routing Protocol Good: Efficiently broadcast up-to-date routing information Good: Efficiently broadcast up-to-date routing information Bad: Rumor may be broadcast efficiently, too. Bad: Rumor may be broadcast efficiently, too. Argument: If the majority is good … Argument: If the majority is good … The algorithm should be correct in distributed environments. The algorithm should be correct in distributed environments.

Routing Protocols Autonomous System Autonomous System

Routing Protocols Inside Autonomous System: Embrace the Freedom! Inside Autonomous System: Embrace the Freedom! RIP (Routing Information Protocol) RIP (Routing Information Protocol) OSPF (Open Shortest Path First) OSPF (Open Shortest Path First) Between Autonomous System (Exterior Gateway Protocol): More consideration … Between Autonomous System (Exterior Gateway Protocol): More consideration … BGP (Border Gateway Protocol) BGP (Border Gateway Protocol)

Border Gateway Protocol-4 Inter-Autonomous System Communication Inter-Autonomous System Communication Propagate Path Information Propagate Path Information Support Policy Support Policy Incremental Updates Incremental Updates Assume reliable transmission (TCP) Assume reliable transmission (TCP)

Simplified BGP State Machine

BGP Packets Packets Format: Packets Format: 0 - 15 th Byte: FF (hexadecimal) 0 - 15 th Byte: FF (hexadecimal) th Byte: Unsigned number, Length of the Packet (>=19) th Byte: Unsigned number, Length of the Packet (>=19) 18 th Byte: Packet Type: 18 th Byte: Packet Type: 1OPEN 1OPEN 2UPDATE 2UPDATE 3NOTIFICATION 3NOTIFICATION 4KEEPALIVE 4KEEPALIVE 19 th Byte to the end of the Packet: Routing Data 19 th Byte to the end of the Packet: Routing Data

Detailed Specification Appendix I (page 47) Appendix I (page 47)

Lab 3

Lab 3 - Task Implement a (simplified) simplified BGP Finite State Machine: Implement a (simplified) simplified BGP Finite State Machine: Ignore the timers Ignore the timers Ignore the details of Routing Data Ignore the details of Routing Data

Lab3 - Finite State Machine

Lab 3 - Requirements  The implementation is based on TCP.  The implementation is able to actively connect to multiple machines and it is able to accept requests from multiple machines.  The implementation allows at most one connection from one machine (identified by IP / hostname).  For each connection, the implementation implements the Lab3 Finite State Machine.

Lab 3 - Details A program “ server ” A program “ server ” Read from a file called “ server.conf ”. Format of “ server.conf ” : Read from a file called “ server.conf ”. Format of “ server.conf ” : (1 st line:) Listen_Port Connection_Num(N) (1 st line:) Listen_Port Connection_Num(N) (2 nd line:) IP_1 Port_1 (2 nd line:) IP_1 Port_1 ( … ) ( … ) (N+1 st line:) IP_N Port_N (N+1 st line:) IP_N Port_N The server should read from “ server.conf ”, listen to Listen_Port for new connection, at the same time, actively connect the specified machines (IP_1:Port_1, IP_2:Port_2, … IP_N:Port_N) The server should read from “ server.conf ”, listen to Listen_Port for new connection, at the same time, actively connect the specified machines (IP_1:Port_1, IP_2:Port_2, … IP_N:Port_N)

Lab 3 - Possible Problems Implementation of Finite State Machine Implementation of Finite State Machine Check the errors (including operation errors and Packet errors) Check the errors (including operation errors and Packet errors) Multiple connections from the same machine Multiple connections from the same machine

Lab 3 - Tips Re-Use the codes in Lab 1 Re-Use the codes in Lab 1 How to implement the Finite State Machine? How to implement the Finite State Machine? “ if … then …” “ if … then …” “ State transition table ” “ State transition table ” How to test? How to test? Incremental Development Incremental Development DON ’ T START AT THE LAST MOMENT! DON ’ T START AT THE LAST MOMENT!

Lab 3 Due: Dec 1 st (Sunday) 23:59:59 Due: Dec 1 st (Sunday) 23:59: Grading Grading TA hours: TA hours: Tue / Thu (20:00 – 22:00) JRG 170 Except: Nov.19 / Nov.21