Review: –What functionality is supported by IP? –What IP does not do? –How many classes of IP addresses? –Explain fields in an IP header? –How subnet works?

Slides:



Advertisements
Similar presentations
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Advertisements

Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 6 Transport Layer.
CCNA – Network Fundamentals
Transmission Control Protocol (TCP)
IS333, Ch. 26: TCP Victor Norman Calvin College 1.
Transportation Layer. Very similar to the data link layer. – two hosts connected by a link or two hosts connected by a network differences: – When two.
Answers of Exercise 7 1. Explain what are the connection-oriented communication and the connectionless communication. Give some examples for each of the.
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
EEC-484/584 Computer Networks Lecture 14 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
The Transport Layer. 2 Purpose of this layer Interface end-to-end applications and protocols –Turn best-effort IP into a usable interface Data transfer.
EEC-484/584 Computer Networks Lecture 14 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
The OSI Reference Model
1 Link Layer & Network Layer Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
Gursharan Singh Tatla Transport Layer 16-May
Introduction to Linux Network 劉德懿
Process-to-Process Delivery:
Sockets CIS 370 Fall 2009, UMassD. Introduction  Sockets provide a simple programming interface which is consistent for processes on the same machine.
1 Transport Layer Computer Networks. 2 Where are we?
Basic Socket Programming TCP/IP overview. TCP interface Reference: –UNIX Network Programming, by Richard Stevens. –UNIX man page.
Sockets and intro to IO multiplexing. Goals We are going to study sockets programming as means to introduce IO multiplexing problem. We will revisit socket.
1 Networking (Stack and Sockets API). 2 Topic Overview Introduction –Protocol Models –Linux Kernel Support TCP/IP Sockets –Usage –Attributes –Example.
TCP/IP Protocol Stack IP Device Drivers TCPUDP Application Sockets (Gate to network) TCP: –Establish connection –Maintain connection during the communication.
Assignment 3 A Client/Server Application: Chatroom.
Elementary TCP Sockets
CS345 Operating Systems Φροντιστήριο Άσκησης 2. Inter-process communication Exchange data among processes Methods –Signal –Pipe –Sockets.
Mukesh N. Tekwani Elphinstone College Mumbai
Section 5: The Transport Layer. 5.2 CS Computer Networks John Mc Donald, Dept. of Computer Science, NUI Maynooth. Introduction In the previous section.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 6 The Transport Layer.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
Remote Shell CS230 Project #4 Assigned : Due date :
Transportation Layer (1). Transportation Layer Very similar to the data link layer. – two hosts connected by a link or two hosts connected by a network.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
UNIX Sockets COS 461 Precept 1. Socket and Process Communication The interface that the OS provides to its networking subsystem application layer transport.
CSE 331: Introduction to Networks and Security Fall 2000 Instructor: Carl A. Gunter Slide Set 5.
Networking Basics CCNA 1 Chapter 11.
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
Institute of Technology Sligo - Dept of Computing Chapter 12 The Transport Layer.
Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified.
Today’s topic: UDP Reliable communication over UDP.
S OCKET P ROGRAMMING IN C Professor: Dr. Shu-Ching Chen TA: HsinYu Ha.
S OCKET P ROGRAMMING IN C Professor: Dr. Shu-Ching Chen TA: Hsin-Yu Ha.
Review: – Why layer architecture? – peer entities – Protocol and service interface – Connection-oriented/connectionless service – Reliable/unreliable service.
Transport Protocols.
4343 X2 – The Transport Layer Tanenbaum Ch.6.
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Lecture 3 TCP and UDP Sockets CPE 401 / 601 Computer Network Systems slides are modified from Dave Hollinger.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
1 Socket Interface. 2 Client-Server Architecture The client is the one who speaks first Typical client-server situations  Client and server on the same.
Process-to-Process Delivery:
CSEN 404 Transport Layer I Amr El Mougy Lamia Al Badrawy.
1 Socket Interface. 2 Basic Sockets API Review Socket Library TCPUDP IP EthernetPPP ARP DHCP, Mail, WWW, TELNET, FTP... Network cardCom Layer 4 / Transport.
Introduction to Networks
The Transport Layer Implementation Services Functions Protocols
Assignment 3 A Client/Server Application: Chatroom
Chapter 6: Transport Layer (Part I)
Socket Programming in C
Introduction to Networks
Process-to-Process Delivery:
Transportation Layer.
Outline Communications in Distributed Systems Socket Programming
Process-to-Process Delivery: UDP, TCP
Presentation transcript:

Review: –What functionality is supported by IP? –What IP does not do? –How many classes of IP addresses? –Explain fields in an IP header? –How subnet works? –How classless Inter-domain routing work? –What does an IP router do? –What/why “longest matching”

Chapter 6: The Transport layer. –Very similar to the data link layer. –two hosts connected by a link or two hosts connected by a network –differences: –When two hosts are connected by a link, packets will not reorder or duplicate (if the sender sends only once). In addition, packets will either get to the receiver or get lost. –When two hosts are connected by a network, packets can be duplicated, delayed, lost, reordered. –Implication: The problems to be addressed in the transport layer are very similar to those in the data link layer. However, the solutions may be more complex.

The transport layer issues: service interface, addressing, connection management, error control, flow control, multiplexing/demultiplexing, quality of service –Service interface connection-oriented and connectionless. similar to the network layer. Why one more layer? –network layer -- part of the communication subnet, run by carrier. can't be changed. –transport layer -- put one more layer on the hosts to get the services needed –potential problem: may do the same thing two times, which can decrease the communication performance.

–Addressing Link: want to transfer data to Ethernet card b.2a Network: want to transfer data to IP host Transport: which entity you will try to address? –want to talk to one process on host –what to do use? process ID? how many bits? What would be the problem when using the pid as transport layer identifier? –Abstraction: port number Multiplexing/Demultiplexing –upward multiplexing: multiplex different transport connections onto the same network connection. –downward multiplexing: open multiple network connections for a single transport layer connection.

–Error Control. sliding window protocol –Flow Control buffer size may need to be adjusted for from time to time (variable size window) two ways to inform the sender: –window-based: receiver tells sender a window-size –rate-based: receiver tells sender a rate. –Connection Management How to tell the start and the end of a logical connection? –Can be quite tricky: consider this bank transaction example »(a) setup connection »(b) transfer $100 »(c) close connection »all messages are delayed and replayed.

Solution 1: –assign a connection-id to each connection, the receiver keeps track what connections have been terminated. »How many connection-ids to keep? »What if receiver crashs and comes back again? It forgets what connections have been established? Solution 2: –Assuming that if a packet dies at t, and the effect will die at t+T. –Use different initial sequence numbers (ISN) for each connection. »Need to make sure that the sequence number has not been used in the previous session (or the packet with that sequence number has died).

How to choose Initial Sequence number. –A clock runs continuously, use the lower k-bit as the ISN. –Host A port 10 talk to host B port 12, 8 bits sequence number, increments every 1 sec. Consider this situation: »A starts at time 100, choose ISN 100, sends 150 packets crashed. »A reboots at time 200 and, use local port 10 and connect to host B port 12, choose ISN 200 »Packets from previous connection may be replayed How to make sure that the sequence numbers do not overlap? –forbidden zone. »don't generate sequence numbers faster than the clock of ISN. »can also come from beneath –wait for 2*MSL after crash before setting new connections

Connection termination: –sender “disconnect”, waiting for receiver’s disconnection –receiver “disconnect”, waiting for sender’s acknowledge –after getting receiver’s “disconnect” packet, sender “acks”. –Problem? »the three army problem.

Service primitives for TCP: –socket: create a new communication end point #include int socket(int domain, int type, int protocol); domain: AF_UNIX file system AF_INET internet address type: SOCK_STREAM reliable connect-oriented, byte stream SOCK_DGRAM unreliable connectionless SOCK_SEQPACKET record stream protocol: 0, non-zero for a specific protocol –bind: attach an address to a socket int bind(int socket, const struct sockaddr *address, size_t address_len) address: contains the port number, address.sin_port

Service primitives for TCP: –listen: announce willingness to accept connections int listen(int socket, int backlog); backlog: number of outstanding connections in the listen queue –accpet: accept a new connection on a socket int accept (int socket, struct sockaddr *address, size_t *address_len); address: the address of the connecting socket –connect: try to establish a connection int connect(int socket, const struct sockaddr *address, size_t address_len); address: the destination address –write: send data ssize_t write(int fildes, const void *buf, size_t nbyte); –read: receive data ssize_t read(int fildes, void *buf, size_t nbyte); –close: close a connection int close(int fildes);