Part 4. Wide Area Networks (WAN)

Size: px
Start display at page:

Download "Part 4. Wide Area Networks (WAN)"

Transcription

1 Part 4 Wide Area Networks (WAN)

2 Wide Area Networks (WAN) Network spread over a large geographical area All machines in a network may not be directly connected to each other due to large number geographically far apart Transmission done by a network of switched nodes Switched Network

3 Switched Networks End devices or stations devices that actually wants to communicate (ex. a PC, phone) Communication network collection of nodes and connections Stations communicate using the communication network Data is switched from node to node until it reaches destination station Intermediate nodes not concerned with content of data

4 Simple Switched Network

5 Simple Switched Network Communication Network Node provides switching facility (routing) Network Station end node (source & destination) Communication Network Communication is achieved by transmitting data from source to destination through a network of switching nodes

6 Used to connect geographically distributed machines and networks into a single cohesive network Two key switching techniques Circuit switching (mostly for phone networks) Packet switching (used in data networks)

7 Circuit Switching Dedicated communication path between two stations Three phases Establish signaling to set up path Transfer - transfer data, connection maintained Disconnect signaling to tear down connection Must have switching capacity and channel capacity to establish connection Needs to chose a path - routing Example Public Telephone Network

8 Advantages Circuit Switching (contd.) once connected, transfer is fast (no routing needed after connection) Disadvantages Inefficient Channel capacity dedicated for duration of connection If no data to be transmitted, capacity wasted Set up (connection) takes time

9 Packet Switching Data are transmitted in short messages called packets (maximum packet size is defined) A dedicated connection between the two end-nodes is not maintained Longer messages broken up into smaller packets Each packet = data + control info (header) control info usually contains routing info + other things Intermediate nodes buffer and then forward packets (store and forward) A node-to-node link can be dynamically shared by many packets

10 Use of Packets

11 Packet Switching (contd.) Datagram approach Each packet treated independently Packets may follow different paths to the destination May arrive out-of-order or get lost Intermediate nodes need to decide where to forward packets (routing) Up to receiver to re-order packets and recover missing packets

12 Datagram Example

13 Packet Switching (contd.) Virtual Circuit approach Preplanned route established before any packets sent Call request and call accept packets establish connection (handshaking) [Similar to circuit switching] Each packet contains a virtual circuit identifier instead of destination address No routing decisions required for individual packets Clear request packet is used to drop circuit Not a dedicated path (unlike circuit switching, the links in a path may be shared between different virtual circuits)

14 Virtual Circuit Example

15 Virtual Circuits vs. Datagrams Virtual circuits Network can provide sequencing and error control Packets are forwarded more quickly No routing decisions to make Less reliable Loss of a node loses all circuits through that node Datagram No call setup phase Better if few packets More flexible and reliable Routing can be used to avoid congested parts of the network, loss of a single node does not drop all packets

16 Advantages of Packet Switching Line efficiency Single node to node link can be shared by many packets over time Packets queued and transmitted as fast as possible Packets are accepted even when network is busy But delivery may slow down Priorities can be used

17 Effect of Packet Size

18 Routing in Switched Networks

19 Routing The process of sending a message from a source to a destination through intermediate nodes A route a path from the source to the destination Needed for any network during connection establishment for circuit switching/virtual circuits whenever a packet arrives at a switching node (router) for datagrams we will cover mostly routing for packet switching networks

20 Routing Algorithm/Protocol Finds one or more routes between a source and a destination and send packets through it Usually stores routes found in routing table for future use Table needs to be updated if existing routes change or new routes found Algorithms differ in how are routes found, which route is selected, when and how are routes updated

21 Routing Protocol Goals Correctness should find a route Optimal - compute best route Efficiency/Low overhead - should not send too many messages to find route Robust - can handle failures like link failure, node crashes Rapid convergence when network conditions change

22 Performance Metrics Used for selection of a route among multiple possible routes Some examples Minimum number of hops Least cost cost can be based on different things like traffic carried, types of links, available bandwidth etc. Delay, throughput

23 When/Where is Routing Decision When? Taken? Per packet or virtual circuit establishment? Where? Distributed made by each node as it receives a packet Centralized one node decides routes for everybody Source decided at source of packet, complete path to destination put in packet (source routing)

24 Routing Strategies Fixed/Static Flooding Random Adaptive/Dynamic

25 Fixed/Static Routing Single permanent route for each source to destination pair Routing table created & updated manually Table is fixed unless manually changed again No dynamic update when network conditions change (for ex., a link goes down, or a shorter path comes up, or some link becomes congested) Fine for very small networks Not good for larger networks that interconnect larger no. of nodes

26 Fixed Routing Tables

27 Flooding No network info required Packet sent by node to every neighbor Incoming packets retransmitted on every link except incoming link Eventually a number of copies will arrive at destination Each packet is uniquely numbered so duplicates can be discarded Nodes can remember packets already forwarded to keep network load in bounds Can work around failed links/nodes

28 Flooding Example

29 Properties of Flooding All possible routes are tried Very robust At least one packet will have taken minimum cost route (for ex., min hop count) Can be used to set up virtual circuit All nodes are visited Useful to distribute information But no routes remembered (no routing table) Too many copies of a packet may be sent

30 Random Routing Node selects one outgoing path for retransmission of incoming packet Selection can be random or round robin Can select outgoing path based on probability calculation No network info needed Route followed is typically not least cost nor minimum hop No routes remembered

31 Adaptive/Dynamic Routing Used by almost all packet switching networks Routing decisions change as conditions on the network change Failure Congestion Requires info about network Decisions more complex Tradeoff between quality of network info and overhead Reacting too quickly can cause oscillation Reacting too slowly can make routes obsolete

32 Routes saved in routing tables Routers communicate among themselves to update routing tables dynamically when network conditions change No manual intervention needed normally

33 Adaptive Routing (contd.) Advantages Improved performance Aid congestion control, fault-tolerance Disadvantages Complex system Additional messages needed to maintain routing tables more overhead

34 Classification of Adaptive Routing Strategies Based on information sources Local (isolated) Route to outgoing link with shortest queue Can include bias for each destination Rarely used - do not make use of easily available info Adjacent nodes All nodes

35 Isolated Adaptive Routing

36 Distance Vector Routing Each node keeps track of its least cost path from all nodes in the network (the distance vector) This entire information is periodically sent to all neighbors, whether or not the information has changed since the last send If no information received from a neighbor within a time, that link is assumed to be down Local information updated based on information received from neighbor If at node x, d(x, y) > d(x, z) + d(z, y), where z is a neighbor of x, then update d(x, y) Always trust information from z if z is the next hop Basically Bellman-Ford shortest path algorithm

37 Slow convergence Problems If a network becomes inaccessible, it may take a long time for all other routing tables to know this Too much overheads updates sent even if no change in routing table Routing loops may take a long time to be detected (counting to infinity problem)

38 Counting to Infinity Problem

39 Link State Protocols Each node sends only information about its neighbors (who and cost) to all nodes in the network This information sent to all nodes by Flooding This information is sent only when a change is detected (for ex., a broken link, a crashed neighbor) Finally each node has complete information about the network applies some least cost algorithm (ex. Dijkstra s) to compute least cost route to all other nodes

40 Bellman-Ford Algorithm Definitions Find shortest paths from given node subject to constraint that paths contain at most one link Find the shortest paths with a constraint of paths of at most two links And so on s = source node w(i, j) = link cost from node i to node j w(i, i) = 0 w(i, j) = if the two nodes are not directly connected w(i, j) 0 if the two nodes are directly connected h = maximum number of links in path at current stage of the algorithm L h (n) = cost of least-cost path from s to n under constraint of no more than h links

41 Bellman-Ford Algorithm Step 1 [Initialization] L 0 (n) =, for all n s L h (s) = 0, for all h Step 2 [Update] For each successive h 0 For each n s, compute L h+1 (n)= min j[l h (j)+w(j,n)] Connect n with predecessor node j that achieves minimum Eliminate any connection of n with different predecessor node formed during an earlier iteration Path from s to n terminates with link from j to n

42 Bellman-Ford Algorithm Notes For each iteration of step 2 with h=k and for each destination node n, algorithm compares paths from s to n of length K=1 with path from previous iteration If previous path shorter it is retained Otherwise new path is defined

43 Comparison of Dijkstra And Bellman-Ford Results from two algorithms agree Information gathered Bellman-Ford Calculation for node n involves knowledge of link cost to all neighboring nodes plus total cost to each neighbor from s Each node can maintain set of costs and paths for every other node Can exchange information with direct neighbors Can update costs and paths based on information from neighbors and knowledge of link costs Dijkstra Each node needs complete topology Must know link costs of all links in network Must exchange information with all other nodes

44 Network Layer Protocols: IPv4 (Internet Protocol Version 4)

45 Internet Protocol Version 4 (IPv4) Network layer protocol in TCP/IP suite Defined originally in RFC 791 (what is a RFC?) Connectionless (I.e., no explicit connection setup/termination phase before/after data transfer), datagram-oriented Message broken up into packets, packets switched between routers. Header attached to each packet (IP header). Main issues handled: Routing Fragmentation and reassembly Unreliable, best-effort service. Packets can be lost, duplicated, come out-of-sequence. Encapsulated in data link layer frame (for ex. Ethernet)

46 IP Address Required to specify source and destination of packet Each host connected to the Internet is identified by a unique IP address (actually, each network card on a host has an IP address) An IP address is a 32-bit quantity. Expressed as W.X.Y.Z, where W, X, Y, Z are the four octets Consists of two logical parts: A network number (used for routing) A host number (identifying host within a net) This partition defines the IP address classes

47 IP Address Classes There are five defined IP address classes. Class A UNICAST Class B UNICAST Class C UNICAST Class D MULTICAST Class E RESERVED There are some special-purpose IP addresses also.

48 Class A Address Range High-order bits 0 Network bits 7 Host bits 24 B C D E

49 CLASS A 0 Network Host Host Host No. of networks: = 127 No. of hosts/network: = 16,777,214 CLASS B 10 Network Network Host Host No. of networks: = 16,383 No. of hosts/network: = 65,534

50 CLASS C 110 Network Network Network Host No. of networks: = 2,097,151 No. of hosts/network: = 254

51 Problems with Class Assignments Main problem with Class assignments: Wastage of IP addresses (organizations may not need a full class) Solution Control allocation centrally Controlled by IANA and its regional agencies ( Allocate only what is necessary (or close to it)

52 IP Subnetting Subnet (or subnetwork) A subset of a class A, B, or C network. Breaks host part into subnet part and host part Allows better address space allocation Allows better network administration and management Reduces route table size in non-local routers (will discuss later)

53 Uses network masks (subnet mask) In binary, the mask is a series of contiguous 1 s followed by a series of contiguous 0 s. The 1 s portion identifies the network portion of the address (see example) The 0 s portion identifies the host portion of the address in the original To check if two IP addresses belong to the same subnet, the bit-wise AND of the two addresses with the netmask must be the same.

54 An Example Network mask is applied to a class C network Mask = Address of 1 st host on this subnet = (0 is special) Address of last host on this network = (15 = 1111 is special) Next subnet will start from Addresses and are in the same subnet by the previous rule Addresses and are in different subnets by the previous rule Note: original subnet specs (RFC 950) do not allow subnets with all 0 s and all 1 s (so and subnets cannot be used). Some current systems allow with suitable configuration. Be careful about interoperability.

55 Natural Masks Class A, B and C addresses each have natural masks, which gets defined from the definition of the classes themselves. Class A :: natural mask is Class B :: natural mask is Class C :: natural mask is

56 Some Special IP Addresses Special source addresses as part of an initialization procedure This host on this network NET = 0, HostID = 0 Specified host on this network NET = 0, HostID = this host Loopback address Loopback address - allows applications on same host to communicate using TCP/IP Anything starting with 127., usually

57 Special IP Output Addresses Limited Broadcast - Typically used for initialization Only appears on local cable/collision domain NETID = all 1 s, HostID = all 1 s Net-directed Broadcast (to netid) Forwarded via router NETID = netid, HostID = all 1 s Subnet-directed Broadcast (to netid, subnetid) NETID = netid, SubnetID = subnetid, HostID = all 1 s All subnets-directed broadcast for netid Most routers don t support this - use Multicast instead to do the same thing NETID = netid, SubnetID = all 1 s, HostID = all 1 s

58 Routing Basics Each subnet has a router (gateway) Has at least two NICs (multihomed), one for the subnet, and others connected to higher level routers forwards to higher level router using routing table When IP packet comes, destination address checked with routing table to find next hop s IP address Questions: Route by host or by network? Routing table: how to build and maintain it? Monolithic routing table structure/maintenance method across the Internet?

59 Routing by the Network Routing by host address explodes routing table at higher level routers Subnetting allowed better management of IP space, but by itself, still needs one entry per subnet at higher level routers CIDR (Classless Inter Domain Routing) Combine contiguous networks into a larger network for the purpose of saving IP space and reducing routing table size

60 Example Suppose Company A needs IP for 1000 machines Assign 4 contiguous Class C address blocks , , , (last 8 bits 0) Supernet: Address : Netmask: (last 10 bits 0) Also written as: /22 22 denotes size of network portion. Also called prefix. Routing done by prefix

61 Advantage Routing table at higher levels will have only 1 entry for the 4 networks In classful addressing (that did not recognize masks), would have required 4 entries for the 4 networks Possible only due to contiguous allocation, so that higher level routers can just send it to lower level routers (in this case company A s router) using one entry only. Lower level router will distinguish.

62 Routing table at all higher level routers: /22 - send to host X (next hop on way to Company A s router RA) Routing table at RA: /24 send to router of first net /24 send to router of second net /24 send to router of third net /24 send to router of fourth net Routers always do longest prefix match. If two entries match, longest match is taken. Example: two entries in table: one for /16 and one for /24. If address is , second entry will be used even though it matches both.

63 So routing table will contain networks (in prefix form or explicit net/mask form) and maybe some hosts (32 bit prefix), and a next hop address for each of them, plus some other information Usually a routing cache is also there. Cache contains recent routing decisions. Destination address first looked up in cache. If not found, longest-prefix match done in routing table. How is the routing table built and maintained? Distance vector/link state based protocols Hierarchical, will discuss at end if time permits

64 Routing Table Example - 1 Destination Gateway Genmask Iface eth eth lo eth0

65 Routing Table Example - 2 ========================================================= Interface List 0x1... MS TCP Loopback interface 0x ba c Realtek RTL8139 Family PCI Fast Ethernet NIC ========================================================= Active Routes: Network Destination Netmask Gateway Interface Default Gateway: ============================================================

66 Basic Data Transfer Use subnet mask to find if source and destination IP in same subnet If yes Can send using broadcast MAC address All nodes on subnet receive it, pass it up till IP layer, only destination m/c accepts (based on destination IP) Can optimize if destination m/c MAC address known If not, send to gateway, gateway will route using routing table

67 IP Reframing IP packet sent from A= to B= through gateway C= Since A sends to C first, should A change the destination address in the packet to (address of C)?

68 NO!!! IP address is for end-to-end communication, C will need it to know that the packet is for B Set the MAC address to that of C so that the packet can go to C C will then set the MAC address of the packet to that of B But how does A know the MAC address of C? Through another protocol, ARP

69 ARP (Address Resolution Protocol) Provides IP to Hardware address mapping ARP packet encapsulated in data link layer frame, ex., Ethernet Type field in frame specifies it is an ARP packet Broadcast IP for which hardware address is needed to all nodes, destination picks it up and replies ARP cache maintained for faster mapping

70 ARP Packet Format

71 RARP Opposite of ARP Gets IP address given Hardware Address Used during bootup by diskless workstations etc. to initialize IP

72 IP Header

73 What s Stored in an IPv4 Header? Version - 4 bit field specifying the IP version (4) Header length - specified in 32 bit words. Range is words, or bytes Type of Service (8 bits) 3 bit precedence field (ignored today), one must be zero field 4-bit field specifying desired service qualities. Minimize Delay Maximum Throughput Maximize Reliability Minimize Monetary Cost Only one bit can be set. None set is normal service Largely ignored by routers & IP implementations

74 IPv4 Header (contd.) Datagram length - header + data, in bytes Identification Unique value, used with flags & fragment offset if a message must be fragmented Flags, Fragment offset discussed later Time to live field - upper limit on the number of hops a message can go before being dropped Protocol - identifies higher layer protocol like TCP, UDP etc. Header checksum - checksum of just the header Source address Destination address Options

75 Options Field Can specify a variable number of options, each of the form Flag 0 means the option is NOT to be copied to each fragment if the datagram is fragmented, 1 means to be copied Class 0 (Normal), 2 (debugging)

76 . Option Number 0 - the end of the option list, 1 - No Operation 2 - Security 3 - Loose Source Routing 4 - Internet Timestamp 7 - Record Route 8 - Stream ID 9 - Strict Source Routing Option-Length - variable and not present for the NOP and the end of Option List Option-Data - variable and not present for the NOP and the end of Option List. See RFC 791 for the detail on the data content for each of the Options Overall, options are not much used for internet communication

77 IP Fragmentation Maximum Transfer Unit (MTU) maximum size of a physical frame (ex for Ethernet) When a router transits a packet that is too large for the MTU of the outgoing link, the packet is fragmented Fragmented packets are not reassembled until they reach their final destination Fragments may also be fragmented Typically, if any fragment is lost, a router will discard all fragments. Routers usually only discover fragment loss if they drop the fragment themselves. The endpoint assumes fragments are lost after seconds

78 Packets vs. Datagrams An IP datagram is the unit of end-to-end transmission at the IP layer (before fragmentation & after reassembly) A packet is the unit of data passed between the IP layer and the link layer. A packet can be a complete IP datagram or a fragment

79 Identifying and Ordering Fragments Fragments are identified using the datagram identification field in the header All fragments of a datagram has the same identification field value Sequencing of fragments done using the Fragment Offset field Contains offset from beginning of data carried by this fragment Last fragment detected by More Fragment field I bit of the Flags field in the header Set to 1 on all but the last fragment of a datagram; set to 0 for the last fragment

80 IP Fragmentation IP Header Payload IP Header Payload More Fragements is Set IP Header Payload IP Header Payload More Fragements is NOT Set

81 IP Fragmentation - Identifying IP Header Information Payload IP Header Payload Ver HdrLth Type of Svc Total length (in bytes) 16-bit Packet Identification Flags Fragment Offset Time To Live Protocol Header Checksum Source IP Address Destination IP Address... (options, if any)...

82 IP Fragmentation IP Header Payload IP Header Payload Ver HdrLth Type of Svc Total length (in bytes) 16-bit Packet Identification Flags Fragment Offset Time To Live Protocol Header Checksum Source IP Address Destination IP Address... (options, if any)...

83 IP Fragmentation Of Non-Final IP Header Fragments Payload IP Header Payload More Fragements is Set IP Header Payload IP Header Payload IP Header Payload

84 IP Fragmentation Of Final Fragment IP Header Payload IP Header Payload IP Header Payload More Fragements is Set More Fragements is NOT Set IP Header IP Header Payload IP Header

85 Don t Fragment One of the IPv4 header flags specifies that this packet should not be fragmented 16-bit Packet Identification Fragment Offset Reserved Don t Fragment More Fragments

86 Internet Control Message Protocol (ICMP)

87 ICMP (Internet Control Message Protocol) Required protocol with IP Used for reporting errors back to the source of an IP packet or for monitoring/measurement/feedback When a node detects an error, an ICMP packet is sent back to the source Only error reporting, no error correction. Correction is left to the source node. RFC 792 and RFC 1122 (lists updated types)

88 ICMP Transmission ICMP packet contains ICMP header and may contain other information depending on type of message ICMP packet carried in data portion of an IP packet IP packet is routed normally back to the source Only difference: No ICMP packet is generated on error in IP packet carrying ICMP ICMP is not a transport layer protocol, it is a required support protocol at IP layer

89 ICMP Header Format 8-bit Type field 8-bit Code field 16-bit Checksum

90 ICMP Message Types ICMP Message Type Echo reply 0 Destination unreachable 3 Source quench 4 Route redirect 5 Echo request 8 Time exceeded 11 Parameter problem 12 Timestamp request 13 Timestamp reply 14 Address mask request 17 Address mask reply 18

91 Echo Request/Reply To see if a destination is up and reachable Identifier/Sequence no. used to match request with reply Data may be sent in request, same data returned in reply, matched to see if destination is up Basis of ping tool 8 16 Type (8/0) Code (0) Checksum Identifier Sequence No. Optional Data

92 Destination Unreachable Sent by router when unable to forward or deliver a packet 8 16 Type (3) Code (0-12) Checksum Unused (must be 0) IP header + first 64 bits of IP packet

93 Example Code Values Code Meaning 0 network unreachable 1 host unreachable 2 protocol unreachable 3 port unreachable 4 fragmentation needed and DF set 5 source route failed 6 destination network unknown 7 destination host unknown

94 Source Quench Report congestion to source Sent when packet is dropped due to buffer overflow Source should reduce flow 8 16 Type (4) Code (0) Checksum Unused (must be 0) IP header + first 64 bits of IP packet

95 Route Redirect Used to let source know a better route to use for the destination address Packet is still forwarded 8 16 Type (5) Code (0-3) Checksum new router address IP header + first 64 bits of IP packet

96 Time Exceeded for Datagram Used to detect circular or very long routes Sent when router discard packet because hop count = 0 (code 0) or fragment reassembly timer expires (code 1) Basis of traceroute tool 8 16 Type (11) Code (0-1) Checksum Unused (must be 0) IP header + first 64 bits of IP packet

97 Parameter Problem Sent for any other errors that cause packet to be discarded (ex., incorrect option field) 8 16 Type (12) Code (0-1) Checksum Pointer Unused (must be 0) IP header + first 64 bits of IP packet

98 Timestamp Request/Reply May be used for clock synchronization 8 16 Type (13/14) Code (0) Checksum Identifier Sequence Number Originate Timestamp Receive Timestamp Transmit Timestamp

99 Address Mask Request/Reply May be used to obtain subnet mask of local network at boot 8 16 Type (17/18) Code (0) Checksum Identifier Sequence No Address Mask

100 Transport Layer Protocols: TCP (Transmission Control Protocol)

101 Possible Transport Layer Functions Multiplex/Demultiplex traffic for different applications Establish and maintain end-to-end connections Guarantee reliable, inorder end-to-end transfer Provide end-to-end flow control Congestion control A transport layer protocol may implement a subset of the above Lowest level end-to-end protocol Header generated by sender is interpreted only by the destination, not by routers Routers view transport header as part of the payload/data

102 Transmission Control Protocol (TCP) End-to-end, reliable protocol Connection-oriented, stream-oriented, full duplex Connection-oriented Three-way handshake to establish connection Explicit connection termination Flow control (Sliding Window based) Error detection and control, sequencing Congestion Control Specified originally in RFC 793, many other related RFCs are there

103 Port, Endpoint, and Connection Port A 16 bit integer used to identify an application using Endpoint A 2-tuple <host, port> host is an IP address Commonly called a socket Connection Defined by two endpoints Two connections will have at least one endpoint different (but can have one endpoint same) Messages are demultiplexed based on connections, not ports

104 Classification of Ports Well-known/reserved ports Ports upto 1023 Use requires registration with ICANN / IANA Normally used for protocols with wide applicability Examples ftp 21,20, telnet 23 etc. Registered ports Ports Used to avoid port collisions between user-level applications developed independently when installed on the same machine Registration in ICANN registries is voluntary, though recommended Dynamic or private ports ports Can be used by anyone for anything See RFC 4340 for more details

105 Stream, Segment, and Sequence No. Data viewed as a stream, i.e., a sequence of bytes Segment the unit of transfer between TCP s/w on two machines The stream of bytes is divided into segments, each segment is given a TCP header, and transmitted Usually 1 segment is encapsulated in 1 IP datagram Segments may not contain any data Ex segments used to establish/terminate connections, send acks etc. Sequence No. used to specify position within the stream Each TCP segment will contain a 32-bit sequence no. to identify its position in the stream

106 TCP Header

107 The TCP Flags in Header U R G A C K P S H R S T S Y N F I N URG - urgent pointer is valid ACK - the acknowledgment number is valid PSH - The receiver should pass this data to the application as soon as possible ( push ) RST - reset the connection SYN - synchronize the sequence numbers to initiate a connection FIN - sender is finished sending data

108 Basic Data Transfer Connection established All transmission involves TCP segments Sender sends TCP segments with data Each segment contains a sequence number (position of data in the stream), source and destination port Receiver sends acknowledgments by sending another TCP segment Can be an acknowledgements segment (ACK flag set and a valid acknowledgement no. field) with no data (how to know this?) Acknowledgements can be piggybacked on TCP segments carrying data in the other direction Acknowledgement specifies next sequence no. the receiver expects Cumulative positive acknowledgement, no NAK The above repeats until connection terminated

109 Connection Establishment Purpose Both sides should know that both sides are ready for data transfer Each side should know the other side s Initial Sequence Number (ISN) the starting sequence number of the first byte in the stream that will be sent First byte address cannot always start at 0 or 1, there are problems of confusion between old and new connections Can negotiate certain TCP options also Normally done through Three-Way Handshake Three messages exchanged to establish connection 2 SYN segments (segment with SYN Flag set, and a valid sequence no.) 1 SYN + ACK segment (segment with both SYN and ACK flags set, and valid sequence no. and acknowledgement no. fields)

110 Three-Way Handshake The client sends a SYN segment specifying the port number of the server and the client s ISN The server responds with a SYN + ACK segment Sequence No. field contains server s ISN Server acknowledges the client SYN using client ISN+1 in the acknowledgement no. field. The client acknowledges the SYN from the server using an ACK segment with the server s ISN+1 in the acknowledgement no. field The side sending the first SYN is said to perform an active open. The other side performs a passive open. However, after a connection is established, it is fullduplex comm. with no master/slave

111 SYN: ISN_C Client Server ACK: ISN_C+1 SYN: ISN_S ACK: ISN_S+1

112 Normal Connection Termination Either side can initiate termination Send FIN segment (FIN flag set) Indicates that FIN sender is not going to send any more data Other side can continue sending data Half open connection Must continue to acknowledge Acknowledging FIN FIN receiver must acknowledge the FIN segment by sending an ACK segment (ACK flag set) with acknowledgement no. = FIN segment sequence number + 1 The above repeats when the other side wants to close connection

113 A B FIN, SeqA ACK, SeqA+1 Data ACK FIN, SeqB ACK, SeqB+1

114 TCP Flow Control TCP uses a sliding window protocol without selective or negative acknowledgments. Selective acknowledgments would let the protocol say it s missing a range of bytes. TCP can only say that it has received up to byte N. The protocol has no way to specify a negative acknowledgment. It can only say what has been received 0 Next ACK

115 Sliding Window Based Flow Control Sender maintains a window of size n and start of window X Sender can send up to n bytes starting from some byte X without receiving an acknowledgement When the first p bytes of data are acknowledged then the window slides forward by p bytes to X+p. Sender can now send n bytes starting from X+p Window size determines how much unacknowledged data can the sender send

116 Sender Side Window window Sent and acked Sent but not acked Not yet sent Next to be sent Must retain for possible retransmission

117 Problem Acknowledgment may be sent immediately by receiver, but receiver can delete acknowledged data only after the data has been delivered to the application So, depending on how fast the application is reading the data, the receiver s window size may change

118 Receiver Side Window Receive buffer Acked but not delivered to user Not yet acked window

119 Solution Receiver tells sender what is the current window size in every segment it transmits to the sender (in Window field of header) Sender uses this current window size instead of a fixed value Window size (also called Advertised window) is continuously changing, = current free buffer space at receiver Can go to zero - sender not allowed to send anything! Naïve implementations can cause silly window syndrome

120 Ensuring Reliable, Inorder Transfer Checksum (mostly) guarantees end-to-end data integrity Sequence numbers detect packet sequencing problems: Duplicate: ignore Reordered: reorder or drop Lost: retransmit Lost segments detected by sender. Use timeout to detect lack of acknowledgment Retransmission requires that sender keep copy of the data. Copy is discarded when ack is received

121 Ensuring Reliability Keeps separate timer for each unacknowledged segment Uses retransmissions of segments whose timers expire Retransmission time-out depends on round-trip delay round-trip delay varies based on path followed, network condition etc. So how to set? solution - estimate RTT dynamically

122 Estimating Round-trip Delay Data Sample Ack Every Data/Ack pair gives new RTT estimate Can get lots of short-term fluctuations

123 TCP Round-trip Estimator Round trip times estimated as a moving average: New RTT = α (old RTT) + (1 - α) (new sample) Retransmit timer set to β RTT Typically, α = , β = 2 originally Problem: If a segment is retransmitted, and an ack for it is received, is it an ack for the retransmitted frame or the original frame? What RTT sample value to take? Solution Karn s algorithm

124 Computing TCP Checksum Prepends a psuedo-header before the TCP segment Pads octets of zeros to make (psuedo-header + TCP segment + pad length) multiple of 16 Checksum computed on this entire thing Psuedo-header and pad octets are not transmitted, just used for calculating the checksum (then why have it?) Receiver will do the same and compare checksum

125 TCP psuedo-header Source IP address Destination IP address Zero Protocol TCP Length Protocol = 6 (value for TCP in protocol field of IP datagram) TCP Length = length of TCP segment incl. TCP header (but not incl. psuedo-header and pads, it is computed (how?))

126 Out of Band Data Sometimes there is need to send urgent data that needs to be delivered to the application out of turn Set URG code bit to indicate presence of outof-band data in segment Set URGENT pointer to position in segment where urgent data ends

127 TCP State Diagram

128

129

130 Transport Layer Protocols: UDP (User Datagram Protocol)

131 User Datagram Protocol (UDP) Transport layer protocol like TCP, notion of port to identify application layer service Provides multiplexing/demultiplexing of applications Connectionless (no connection setup/termination), unreliable No flow control, error control Each datagram sent separately Simple, fast, but unreliable Details in RFC 768

132 UDP Message Format Source Port Destination Port Length Checksum Data

133

Vorlesung Kommunikationsnetze

Vorlesung Kommunikationsnetze Picture 15 13 Vorlesung Kommunikationsnetze Prof. Dr. H. P. Großmann mit B. Wiegel sowie A. Schmeiser und M. Rabel Sommersemester 2009 Institut für Organisation und Management von Informationssystemen

More information

User Datagram Protocol

User Datagram Protocol Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram

More information

User Datagram Protocol (UDP):

User Datagram Protocol (UDP): SFWR 4C03: Computer Networks and Computer Security Feb 2-5 2004 Lecturer: Kartik Krishnan Lectures 13-15 User Datagram Protocol (UDP): UDP is a connectionless transport layer protocol: each output operation

More information

Routing in packet-switching networks

Routing in packet-switching networks Routing in packet-switching networks Circuit switching vs. Packet switching Most of WANs based on circuit or packet switching Circuit switching designed for voice Resources dedicated to a particular call

More information

Dongsoo S. Kim Electrical and Computer Engineering Indiana U. Purdue U. Indianapolis

Dongsoo S. Kim Electrical and Computer Engineering Indiana U. Purdue U. Indianapolis Session 8. TCP/IP Dongsoo S. Kim (dskim@iupui.edu) Electrical and Computer Engineering Indiana U. Purdue U. Indianapolis IP Packet 0 4 8 16 19 31 Version IHL Type of Service Total Length Identification

More information

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia IP - The Internet Protocol Based on the slides of Dr. Jorg Liebeherr, University of Virginia Orientation IP (Internet Protocol) is a Network Layer Protocol. IP: The waist of the hourglass IP is the waist

More information

II. Principles of Computer Communications Network and Transport Layer

II. Principles of Computer Communications Network and Transport Layer II. Principles of Computer Communications Network and Transport Layer A. Internet Protocol (IP) IPv4 Header An IP datagram consists of a header part and a text part. The header has a 20-byte fixed part

More information

Internet Protocols (chapter 18)

Internet Protocols (chapter 18) Internet Protocols (chapter 18) CSE 3213 Fall 2011 Internetworking Terms 1 TCP/IP Concepts Connectionless Operation Internetworking involves connectionless operation at the level of the Internet Protocol

More information

TCP/IP Networking. Part 4: Network and Transport Layer Protocols

TCP/IP Networking. Part 4: Network and Transport Layer Protocols TCP/IP Networking Part 4: Network and Transport Layer Protocols Orientation Application Application protocol Application TCP TCP protocol TCP IP IP protocol IP IP protocol IP IP protocol IP Network Access

More information

ECE4110 Internetwork Programming. Introduction and Overview

ECE4110 Internetwork Programming. Introduction and Overview ECE4110 Internetwork Programming Introduction and Overview 1 EXAMPLE GENERAL NETWORK ALGORITHM Listen to wire Are signals detected Detect a preamble Yes Read Destination Address No data carrying or noise?

More information

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst EITF25 Internet Techniques and Applications L7: Internet Stefan Höst What is Internet? Internet consists of a number of networks that exchange data according to traffic agreements. All networks in Internet

More information

Introduction to Internetworking

Introduction to Internetworking Introduction to Internetworking Introductory terms Communications Network Facility that provides data transfer services An internet Collection of communications networks interconnected by bridges and/or

More information

ET4254 Communications and Networking 1

ET4254 Communications and Networking 1 Topic 9 Internet Protocols Aims:- basic protocol functions internetworking principles connectionless internetworking IP IPv6 IPSec 1 Protocol Functions have a small set of functions that form basis of

More information

05 Transmission Control Protocol (TCP)

05 Transmission Control Protocol (TCP) SE 4C03 Winter 2003 05 Transmission Control Protocol (TCP) Instructor: W. M. Farmer Revised: 06 February 2003 1 Interprocess Communication Problem: How can a process on one host access a service provided

More information

William Stallings Data and Computer Communications. Chapter 10 Packet Switching

William Stallings Data and Computer Communications. Chapter 10 Packet Switching William Stallings Data and Computer Communications Chapter 10 Packet Switching Principles Circuit switching designed for voice Resources dedicated to a particular call Much of the time a data connection

More information

CHAPTER-2 IP CONCEPTS

CHAPTER-2 IP CONCEPTS CHAPTER-2 IP CONCEPTS Page: 1 IP Concepts IP is a very important protocol in modern internetworking; you can't really comprehend modern networking without a good understanding of IP. Unfortunately, IP

More information

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks CS4700/CS5700 Fundamentals of Computer Networks Lecture 14: TCP Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu Northeastern

More information

Network Layer. The Network Layer. Contents Connection-Oriented and Connectionless Service. Recall:

Network Layer. The Network Layer. Contents Connection-Oriented and Connectionless Service. Recall: Network Layer The Network Layer Recall: The network layer is responsible for the routing of packets The network layer is responsible for congestion control 1 2 Contents 4.1.1 Connection-Oriented and Connectionless

More information

Network Layer. Recall: The network layer is responsible for the routing of packets The network layer is responsible for congestion control

Network Layer. Recall: The network layer is responsible for the routing of packets The network layer is responsible for congestion control The Network Layer 1 Network Layer Recall: The network layer is responsible for the routing of packets The network layer is responsible for congestion control 2 Contents Connection-Oriented (virtual circuit)

More information

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link. Internet Layers Application Application Transport Transport Network Network Network Network Link Link Link Link Ethernet Fiber Optics Physical Layer Wi-Fi ARP requests and responses IP: 192.168.1.1 MAC:

More information

ICMP (Internet Control Message Protocol)

ICMP (Internet Control Message Protocol) Today s Lecture ICMP (Internet Control Message Protocol) Internet Protocols CSC / C 573 I. ICMP Overview II. ICMP rror Reporting III. ICMP Query / Response Messages IV. ICMP Message Processing Fall, 2005

More information

Unit 2.

Unit 2. Unit 2 Unit 2 Topics Covered: 1. PROCESS-TO-PROCESS DELIVERY 1. Client-Server 2. Addressing 2. IANA Ranges 3. Socket Addresses 4. Multiplexing and Demultiplexing 5. Connectionless Versus Connection-Oriented

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure

More information

This Lecture. BUS Computer Facilities Network Management. Switching Network. Simple Switching Network

This Lecture. BUS Computer Facilities Network Management. Switching Network. Simple Switching Network This Lecture BUS0 - Computer Facilities Network Management Switching networks Circuit switching Packet switching gram approach Virtual circuit approach Routing in switching networks Faculty of Information

More information

IS370 Data Communications and Computer Networks. Chapter 5 : Transport Layer

IS370 Data Communications and Computer Networks. Chapter 5 : Transport Layer IS370 Data Communications and Computer Networks Chapter 5 : Transport Layer Instructor : Mr Mourad Benchikh Introduction Transport layer is responsible on process-to-process delivery of the entire message.

More information

TCP /IP Fundamentals Mr. Cantu

TCP /IP Fundamentals Mr. Cantu TCP /IP Fundamentals Mr. Cantu OSI Model and TCP/IP Model Comparison TCP / IP Protocols (Application Layer) The TCP/IP subprotocols listed in this layer are services that support a number of network functions:

More information

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties

More information

TCP/IP Protocol Suite

TCP/IP Protocol Suite TCP/IP Protocol Suite Computer Networks Lecture 5 http://goo.gl/pze5o8 TCP/IP Network protocols used in the Internet also used in today's intranets TCP layer 4 protocol Together with UDP IP - layer 3 protocol

More information

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16 Guide To TCP/IP, Second Edition Chapter 5 Transport Layer TCP/IP Protocols Objectives Understand the key features and functions of the User Datagram Protocol (UDP) Explain the mechanisms that drive segmentation,

More information

Lecture 11: IP routing, IP protocols

Lecture 11: IP routing, IP protocols Lecture 11: IP routing, IP protocols Contents Routing principles Local datagram delivery ICMP Protocol UDP Protocol TCP/IP Protocol Assuring requirements for streaming TPC Building and terminating TCP

More information

7. TCP 최양희서울대학교컴퓨터공학부

7. TCP 최양희서울대학교컴퓨터공학부 7. TCP 최양희서울대학교컴퓨터공학부 1 TCP Basics Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 2009 Yanghee Choi

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Outline Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 RFC? Transport layer introduction UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 The Transport Layer Transport layer

More information

Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service

Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 최양희서울대학교컴퓨터공학부 Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 1 2004 Yanghee Choi 2 Addressing: application

More information

Communication Networks ( ) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

Communication Networks ( ) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner Communication Networks (0368-3030) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University Allon Wagner Kurose & Ross, Chapter 4 (5 th ed.) Many slides adapted from: J. Kurose & K. Ross

More information

TSIN02 - Internetworking

TSIN02 - Internetworking TSIN02 - Internetworking Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 Transport layer responsibilities UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 Transport layer in OSI model

More information

SEN366 (SEN374) (Introduction to) Computer Networks

SEN366 (SEN374) (Introduction to) Computer Networks SEN366 (SEN374) (Introduction to) Computer Networks Prof. Dr. Hasan Hüseyin BALIK (12 th Week) The Internet Protocol 12.Outline Principles of Internetworking Internet Protocol Operation Internet Protocol

More information

Basic Idea. Routing. Example. Routing by the Network

Basic Idea. Routing. Example. Routing by the Network Basic Idea Routing Routing table at each router/gateway When IP packet comes, destination address checked with routing table to find next hop address Questions: Route by host or by network? Routing table:

More information

Lecture 4 The Network Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Lecture 4 The Network Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Lecture 4 The Network Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Network layer functions Transport packet from sending to receiving hosts Network layer protocols in every

More information

Routing by the Network

Routing by the Network Routing Basic Idea Routing table at each router/gateway When IP packet comes, destination address checked with routing table to find next hop address Questions: Route by host or by network? Routing table:

More information

CSC 634: Networks Programming

CSC 634: Networks Programming CSC 634: Networks Programming Lecture 03: Review of Basic Networking Concepts (TCP/UDP) Instructor: Haidar M. Harmanani Recap 7-Layer OSI Model 7 6 5 4 3 2 1 Application Presentation (kinds of compression)

More information

Internetwork Protocols

Internetwork Protocols Internetwork Protocols Background to IP IP, and related protocols Internetworking Terms (1) Communications Network Facility that provides data transfer service An internet Collection of communications

More information

Introduction to TCP/IP networking

Introduction to TCP/IP networking Introduction to TCP/IP networking TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute TCP : Transmission Control Protocol HTTP, FTP, ssh What is an internet? A set

More information

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Transport Layer. Gursharan Singh Tatla.   Upendra Sharma. 1 Transport Layer Gursharan Singh Tatla mailme@gursharansingh.in Upendra Sharma 1 Introduction The transport layer is the fourth layer from the bottom in the OSI reference model. It is responsible for message

More information

QUIZ: Longest Matching Prefix

QUIZ: Longest Matching Prefix QUIZ: Longest Matching Prefix A router has the following routing table: 10.50.42.0 /24 Send out on interface Z 10.50.20.0 /24 Send out on interface A 10.50.24.0 /22 Send out on interface B 10.50.20.0 /22

More information

Network layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing

Network layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing Network layer: Overview Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing 1 Network Layer Functions Transport packet from sending to receiving hosts Network layer protocols in every

More information

Networking Technologies and Applications

Networking Technologies and Applications Networking Technologies and Applications Rolland Vida BME TMIT Transport Protocols UDP User Datagram Protocol TCP Transport Control Protocol and many others UDP One of the core transport protocols Used

More information

CPSC 826 Internetworking. The Network Layer: Routing & Addressing Outline. The Network Layer

CPSC 826 Internetworking. The Network Layer: Routing & Addressing Outline. The Network Layer 1 CPSC 826 Intering The Network Layer: Routing & Addressing Outline The Network Layer Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu November 10, 2004 Network layer

More information

Router Architecture Overview

Router Architecture Overview Chapter 4: r Introduction (forwarding and routing) r Review of queueing theory r Router design and operation r IP: Internet Protocol m IPv4 (datagram format, addressing, ICMP, NAT) m Ipv6 r Generalized

More information

Network layer: Overview. Network Layer Functions

Network layer: Overview. Network Layer Functions Network layer: Overview Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing 1 Network Layer Functions Transport packet from sending to receiving hosts Network layer protocols in every

More information

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6. Transport Layer 6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6.1 Internet Transport Layer Architecture The

More information

Lecture 3. The Network Layer (cont d) Network Layer 1-1

Lecture 3. The Network Layer (cont d) Network Layer 1-1 Lecture 3 The Network Layer (cont d) Network Layer 1-1 Agenda The Network Layer (cont d) What is inside a router? Internet Protocol (IP) IPv4 fragmentation and addressing IP Address Classes and Subnets

More information

CSCI-GA Operating Systems. Networking. Hubertus Franke

CSCI-GA Operating Systems. Networking. Hubertus Franke CSCI-GA.2250-001 Operating Systems Networking Hubertus Franke frankeh@cs.nyu.edu Source: Ganesh Sittampalam NYU TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute

More information

Chapter 4: Network Layer

Chapter 4: Network Layer Chapter 4: Introduction (forwarding and routing) Review of queueing theory Routing algorithms Link state, Distance Vector Router design and operation IP: Internet Protocol IPv4 (datagram format, addressing,

More information

Internetworking/Internetteknik, Examination 2G1305 Date: August 18 th 2004 at 9:00 13:00 SOLUTIONS

Internetworking/Internetteknik, Examination 2G1305 Date: August 18 th 2004 at 9:00 13:00 SOLUTIONS Internetworking/Internetteknik, Examination 2G1305 Date: August 18 th 2004 at 9:00 13:00 SOLUTIONS 1. General (5p) a) The so-called hourglass model (sometimes referred to as a wine-glass ) has been used

More information

The Network Layer. Internet solutions. Nixu Oy PL 21. (Mäkelänkatu 91) Helsinki, Finland. tel fax.

The Network Layer. Internet solutions. Nixu Oy PL 21. (Mäkelänkatu 91) Helsinki, Finland. tel fax. The Network Layer Nixu Oy PL 21 (Mäkelänkatu 91) 00601 Helsinki, Finland tel. +358 9 478 1011 fax. +358 9 478 1030 info@nixu.fi http://www.nixu.fi OVERVIEW The Internet Protocol IP addresses, address resolution

More information

Introduction to Internet. Ass. Prof. J.Y. Tigli University of Nice Sophia Antipolis

Introduction to Internet. Ass. Prof. J.Y. Tigli University of Nice Sophia Antipolis Introduction to Internet Ass. Prof. J.Y. Tigli University of Nice Sophia Antipolis What about inter-networks communications? Between LANs? Ethernet?? Ethernet Example Similarities and Differences between

More information

Unit 5: Internet Protocols skong@itt-tech.edutech.edu Internet Protocols She occupied herself with studying a map on the opposite wall because she knew she would have to change trains at some point. Tottenham

More information

Networking: Network layer

Networking: Network layer control Networking: Network layer Comp Sci 3600 Security Outline control 1 2 control 3 4 5 Network layer control Outline control 1 2 control 3 4 5 Network layer purpose: control Role of the network layer

More information

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol Transport Layer Transport Layer The transport layer is responsible for the delivery of a message from one process to another Types of Data Deliveries Client/Server Paradigm An application program on the

More information

ICS 451: Today's plan

ICS 451: Today's plan ICS 451: Today's plan ICMP ping traceroute ARP DHCP summary of IP processing ICMP Internet Control Message Protocol, 2 functions: error reporting (never sent in response to ICMP error packets) network

More information

9th Slide Set Computer Networks

9th Slide Set Computer Networks Prof. Dr. Christian Baun 9th Slide Set Computer Networks Frankfurt University of Applied Sciences WS1718 1/49 9th Slide Set Computer Networks Prof. Dr. Christian Baun Frankfurt University of Applied Sciences

More information

IP Protocols. ALTTC/Oct

IP Protocols. ALTTC/Oct IP Protocols Internet or IP technology over the years has emerged as the most prominent data communication technology. TCP/IP protocol has become de-facto data comm standard throughout the world. It can

More information

William Stallings Data and Computer Communications 7 th Edition. Chapter 12 Routing

William Stallings Data and Computer Communications 7 th Edition. Chapter 12 Routing William Stallings Data and Computer Communications 7 th Edition Chapter 12 Routing Routing in Circuit Switched Network Many connections will need paths through more than one switch Need to find a route

More information

Lecture 11: Networks & Networking

Lecture 11: Networks & Networking Lecture 11: Networks & Networking Contents Distributed systems Network types Network standards ISO and TCP/IP network models Internet architecture IP addressing IP datagrams AE4B33OSS Lecture 11 / Page

More information

Introduction to routing in the Internet

Introduction to routing in the Internet Introduction to routing in the Internet Internet architecture IPv4, ICMP, ARP Addressing, routing principles (Chapters 2 3 in Huitema) Internet-1 Internet Architecture Principles End-to-end principle by

More information

Outline. Routing. Introduction to Wide Area Routing. Classification of Routing Algorithms. Introduction. Broadcasting and Multicasting

Outline. Routing. Introduction to Wide Area Routing. Classification of Routing Algorithms. Introduction. Broadcasting and Multicasting Outline Routing Fundamentals of Computer Networks Guevara Noubir Introduction Broadcasting and Multicasting Shortest Path Unicast Routing Link Weights and Stability F2003, CSG150 Fundamentals of Computer

More information

internet technologies and standards

internet technologies and standards Institute of Telecommunications Warsaw University of Technology 2017 internet technologies and standards Piotr Gajowniczek Andrzej Bąk Michał Jarociński Network Layer The majority of slides presented in

More information

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data ELEX 4550 : Wide Area Networks 2015 Winter Session UDP and TCP is lecture describes the two most common transport-layer protocols used by IP networks: the User Datagram Protocol (UDP) and the Transmission

More information

CIS 632 / EEC 687 Mobile Computing

CIS 632 / EEC 687 Mobile Computing CIS 63 / EEC 687 Mobile Computing IP Software: Routing Prof. Chansu Yu Network Protocols for Wired Network: Ethernet Ethernet address 48-bit, also called hardware/physical/mac/layer address Globally unique:

More information

Chapter 24. Transport-Layer Protocols

Chapter 24. Transport-Layer Protocols Chapter 24. Transport-Layer Protocols 23.1 Introduction 23.2 User Datagram Protocol 23.3 Transmission Control Protocol 23.4 SCTP Computer Networks 24-1 Position of Transport-Layer Protocols UDP is an unreliable

More information

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture TCP and Congestion Control (Day 1) Yoshifumi Nishida nishida@csl.sony.co.jp Sony Computer Science Labs, Inc 1 Today's Lecture Part1: TCP concept Part2: TCP detailed mechanisms Part3: Tools for TCP 2 1

More information

University of Toronto Faculty of Applied Science and Engineering. Final Exam, December ECE 461: Internetworking Examiner: J.

University of Toronto Faculty of Applied Science and Engineering. Final Exam, December ECE 461: Internetworking Examiner: J. University of Toronto Faculty of Applied Science and Engineering Final Exam, December 2009 ECE 461: Internetworking Examiner: J. Liebeherr Exam Type: A Calculator: Type 2 There are a total of 10 problems.

More information

Lecture 3: The Transport Layer: UDP and TCP

Lecture 3: The Transport Layer: UDP and TCP Lecture 3: The Transport Layer: UDP and TCP Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi CEG 4395 3-1 The Transport Layer Provides efficient and robust end-to-end

More information

Network Layer: Internet Protocol

Network Layer: Internet Protocol Network Layer: Internet Protocol Motivation Heterogeneity Scale Intering IP is the glue that connects heterogeneous s giving the illusion of a homogenous one. Salient Features Each host is identified by

More information

Introduction to Networks and the Internet

Introduction to Networks and the Internet Introduction to Networks and the Internet CMPE 80N Announcements Project 2. Reference page. Library presentation. Internet History video. Spring 2003 Week 7 1 2 Today Internetworking (cont d). Fragmentation.

More information

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) Transport Layer -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) 1 Transport Services The transport layer has the duty to set up logical connections between two applications running on remote

More information

Data Communication Prof. A. Pal Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture 34 TCP/ IP I

Data Communication Prof. A. Pal Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture 34 TCP/ IP I Data Communication Prof. A. Pal Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture 34 TCP/ IP I Hello and welcome to today s lecture on TCP/IP. (Refer Slide

More information

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Today Network layer: Internet Protocol (v4) Forwarding Next 2 classes:

More information

Routing Strategies. Fixed Routing. Fixed Flooding Random Adaptive

Routing Strategies. Fixed Routing. Fixed Flooding Random Adaptive Routing Strategies Fixed Flooding Random Adaptive Fixed Routing Single permanent route for each source to destination pair Determine routes using a least cost algorithm Route fixed, at least until a change

More information

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964 The requirements for a future all-digital-data distributed network which provides common user service for a wide range of users having different requirements is considered. The use of a standard format

More information

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology Transport Over IP CSCI 690 Michael Hutt New York Institute of Technology Transport Over IP What is a transport protocol? Choosing to use a transport protocol Ports and Addresses Datagrams UDP What is a

More information

Sequence Number. Acknowledgment Number. Data

Sequence Number. Acknowledgment Number. Data CS 455 TCP, Page 1 Transport Layer, Part II Transmission Control Protocol These slides are created by Dr. Yih Huang of George Mason University. Students registered in Dr. Huang's courses at GMU can make

More information

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided. 223 Chapter 19 Inter mediate TCP The Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols was developed as part of the research that the Defense Advanced Research Projects Agency

More information

CS 356: Computer Network Architectures. Lecture 10: IP Fragmentation, ARP, and ICMP. Xiaowei Yang

CS 356: Computer Network Architectures. Lecture 10: IP Fragmentation, ARP, and ICMP. Xiaowei Yang CS 356: Computer Network Architectures Lecture 10: IP Fragmentation, ARP, and ICMP Xiaowei Yang xwy@cs.duke.edu Overview Homework 2-dimension parity IP fragmentation ARP ICMP Fragmentation and Reassembly

More information

Introduction to routing in the Internet

Introduction to routing in the Internet Introduction to routing in the Internet Internet architecture IPv4, ICMP, ARP Addressing, routing principles (Chapters 2 3 in Huitema) Internet-1 Internet Architecture Principles End-to-end principle by

More information

CC231 Introduction to Networks Dr. Ayman A. Abdel-Hamid. Internet Protocol Suite

CC231 Introduction to Networks Dr. Ayman A. Abdel-Hamid. Internet Protocol Suite CC231 Introduction to Networks Dr. Ayman A. Abdel-Hamid College of Computing and Information Technology Arab bacademy for Science &T Technology and Maritime Transport Internet Protocol Suite IP Suite Dr.

More information

Chapter 4 Network Layer

Chapter 4 Network Layer Sungkyunkwan University Chapter 4 Network Layer Prepared by H. Choo 2018-Fall Computer Networks Copyright 2000-2014 2000-2018 Networking Laboratory 1/52 Presentation Outline 4.1 Introduction 4.2 Network-Layer

More information

ETSF05/ETSF10 Internet Protocols Network Layer Protocols

ETSF05/ETSF10 Internet Protocols Network Layer Protocols ETSF05/ETSF10 Internet Protocols Network Layer Protocols 2016 Jens Andersson Agenda Internetworking IPv4/IPv6 Framentation/Reassembly ICMPv4/ICMPv6 IPv4 to IPv6 transition VPN/Ipsec NAT (Network Address

More information

IPv6: An Introduction

IPv6: An Introduction Outline IPv6: An Introduction Dheeraj Sanghi Department of Computer Science and Engineering Indian Institute of Technology Kanpur dheeraj@iitk.ac.in http://www.cse.iitk.ac.in/users/dheeraj Problems with

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 2: The Internet Protocol Literature: Forouzan: ch 4-9 and ch 27 2004 Image Coding Group, Linköpings Universitet Outline About the network layer Tasks Addressing Routing Protocols 2 Tasks of the

More information

Last time. Network layer. Introduction. Virtual circuit vs. datagram details. IP: the Internet Protocol. forwarding vs. routing

Last time. Network layer. Introduction. Virtual circuit vs. datagram details. IP: the Internet Protocol. forwarding vs. routing Last time Network layer Introduction forwarding vs. routing Virtual circuit vs. datagram details connection setup, teardown VC# switching forwarding tables, longest prefix matching IP: the Internet Protocol

More information

CSCI-1680 Network Layer: IP & Forwarding John Jannotti

CSCI-1680 Network Layer: IP & Forwarding John Jannotti CSCI-1680 Network Layer: IP & Forwarding John Jannotti Based partly on lecture notes by David Mazières, Phil Levis, Rodrigo Fonseca Administrivia IP out today. Your job: Find partners, get setup with Github

More information

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering

More information

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition ELEC / COMP 177 Fall 2016 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Presentation 2 Security/Privacy Presentations Nov 3 rd, Nov 10 th, Nov 15 th Upload slides to Canvas by midnight

More information

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address

More information

The Internetworking Problem. Internetworking. A Translation-based Solution

The Internetworking Problem. Internetworking. A Translation-based Solution Cloud Cloud Cloud 1 The Internetworking Problem Internetworking Two nodes communicating across a network of networks How to transport packets through this heterogeneous mass? A B The Internetworking Problem

More information

Information Network Systems The network layer. Stephan Sigg

Information Network Systems The network layer. Stephan Sigg Information Network Systems The network layer Stephan Sigg Tokyo, November 1, 2012 Error-detection and correction Decoding of Reed-Muller codes Assume a second order (16, 11) code for m = 4. The r-th order

More information

Chapter 12. Routing and Routing Protocols 12-1

Chapter 12. Routing and Routing Protocols 12-1 Chapter 12 Routing and Routing Protocols 12-1 Routing in Circuit Switched Network Many connections will need paths through more than one switch Need to find a route Efficiency Resilience Public telephone

More information

Sirindhorn International Institute of Technology Thammasat University

Sirindhorn International Institute of Technology Thammasat University Name.............................. ID............... Section...... Seat No...... Thammasat University Final Exam: Semester, 205 Course Title: Introduction to Data Communications Instructor: Steven Gordon

More information