ECEN 619 “Internet Protocols and Modeling” Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Grading (Tentative): HW: 20%, Projects: 40%, Exam-1:20%, Exam-II:20% Lecture notes and Paper Reading Lists: available on-line: TBA Class Website: http://ece.tamu.edu/~xizhang/ECEN619 Research Interests and Projects: URL:http://ece.tamu.edu/~xizhang Instructor: Professor Xi Zhang E-mail: xizhang@ece.tamu.edu Office: WERC 331D Protocols and the TCP/IP Suite Introductions and Overviews Key Features of a Protocol • Syntax – Concerns the format of the data blocks • Semantics – Includes control information for coordination and error handling • Timing – Includes speed matching and sequencing Agents Involved in Communication • Applications – Exchange data between computers (e.g., electronic mail) • Computers – Connected to networks • Networks – Transfers data from one computer to another TCP/IP Layers • • • • • Physical layer Network access layer Internet layer Host-to-host, or transport layer Application layer TCP/IP Physical Layer • Covers the physical interface between a data transmission device and a transmission medium or network • Physical layer specifies: – – – – Characteristics of the transmission medium The nature of the signals The data rate Other related matters TCP/IP Network Access Layer • Concerned with the exchange of data between an end system and the network to which it's attached • Software used depends on type of network – – – – Circuit switching Packet switching (e.g., X.25) LANs (e.g., Ethernet) Others TCP/IP Internet Layer • Uses internet protocol (IP) • Provides routing functions to allow data to traverse multiple interconnected networks • Implemented in end systems and routers TCP/IP Host-to-Host, or Transport Layer • Commonly uses transmission control protocol (tcp) • Provides reliability during data exchange – Completeness – Order TCP/IP Application Layer • Logic supports user applications • Uses separate modules that are peculiar to each different type of application Protocol Data Units (PDUs) Common TCP/IP Applications • Simple mail transfer protocol (SMTP) – Provides a basic electronic mail facility • File Transfer Protocol (FTP) – Allows files to be sent from one system to another • TELNET – Provides a remote logon capability Layers of the OSI Model • • • • • • • Application Presentation Session Transport Network Data link Physical OSI Application Layer • Provides access to the OSI environment for users • Provides distributed information services OSI Presentation Layer • Provides independence to the application processes from differences in data representation (syntax) OSI Session Layer • Provides the control structure for communication between applications • Establishes, manages, and terminates connections (sessions) between cooperating applications OSI Transport Layer • Provides reliable, transparent transfer of data between end points • Provides end-to-end error recovery and flow control OSI Network Layer • Provides upper layers with independence from the data transmission and switching technologies used to connect systems • Responsible for establishing, maintaining, and terminating connections OSI Data link Layer • Provides for the reliable transfer of information across the physical link • Sends blocks (frames) with the necessary synchronization, error control, and flow control OSI Physical Layer • Concerned with transmission of unstructured bit stream over physical medium • Deals with accessing the physical medium – – – – Mechanical characteristics Electrical characteristics Functional characteristics Procedural characteristics Comparison of OSI and TCP/IP TCP/IP Architecture Dominance • TCP/IP protocols matured quicker than similar OSI protocols – When the need for interoperability across networks was recognized, only TCP/IP was available and ready to go • OSI model is unnecessarily complex – Accomplishes in seven layers what TCP/IP does with fewer layers Elements of Standardization within OSI Framework • Protocol Specification – Format of protocol data units (PDUs) exchanged – Semantics of all fields – Allowable sequence of PDUs • Service Definition – Functional description that defines what services are provided, but not how the services are to be provided • Addressing – Entities are referenced by means of a service access point (SAP) Internetworking Terms • Communication network – facility that provides a data transfer service among devices attached to the network • Internet – collection of communication networks, interconnected by bridges/routers • Intranet – internet used by an organization for internal purposes – Provides key Internet applications – Can exist as an isolated, self-contained internet Internetworking Terms • End System (ES) – device used to support end-user applications or services • Intermediate System (IS) – device used to connect two networks • Bridge – an IS used to connect two LANs that use similar LAN protocols • Router - an IS used to connect two networks that may or may not be similar Functions of a Router • Provide a link between networks • Provide for the routing and delivery of data between processes on end systems attached to different networks • Provide these functions in such a way as not to require modifications of the networking architecture of any of the attached subnetworks Network Differences Routers Must Accommodate • Addressing schemes – Different schemes for assigning addresses • Maximum packet sizes – Different maximum packet sizes requires segmentation • Interfaces – Differing hardware and software interfaces • Reliability – Network may provide unreliable service Packet Switched Networks • Hosts send data in packets • network supports all data communication services by delivering packets Host Host – Web, email, multimedia video Application Host Web Host Host email 28 One network application example Bob@ece.tamu.edu Smith@lcs.mit.edu msg 29 What is happening inside ? Bob@ece.tamu.edu msg email Smith@lcs.mit.edu Transport protocol Transport protocol Network protocol Physical net Network protocol Network protocol Physical net Network protocol physical net 30 Layered Network Architecture • network consists of geographically distributed hosts and switches (nodes) • Nodes communicate with each other by standard protocols A host A C switch B C D network topology B physical connectivity Protocol layers 31 a picture of protocol layers A Application (data) header data Transport segment header DATA network packet DATA header Ethernet frame B physical connectivity What’s in the header: info needed for the protocol’s function 32 tail TCP/IP Protocol Suite • IP Protocol: Inter-networking protocol – RFC791 • TCP Protocol: reliable transport protocol – RFC793 33 The picture of the world according to IP application protocols transport layer protocols TCP UDP universal datagram delivery transport (end-to-end) IP inter-network layer subnets hardware-specific network technologies ethernet token-ring FDDI dialup ATM 34 TCP: Transmission Control Protocol • a transport protocol – IP delivers packets “from door to door” – TCP provides full-duplex, reliable byte-stream delivery between two application processes Application process More terminology: • TCP segment • Max. segment size (MSS) Application process Write bytes Read bytes TCP TCP Send buffer Receive buffer segment segment 35 TCP: major functionalities • Header format • Connection Management • Open, close • State management • Reliability management • Flow and Congestion control • Flow control: Do not flood the receiver’s buffer • Congestion control: Do not stress the network by sending too much too fast 36 TCP header format 0 3 1 1 6 IP header source port destination port Data sequence number acknowledgment number Hlen unused u a p r s f r c s s y i g k h t n n checksum window size urgent pointer Options (viable length) data 37 opening a connection: three-way hand-shake client open request(x) server Passive open ack(x+1) + request(y) ack(y+1) (now in estab. state) enter estab. state 38 TCP’s Two Major Functional Components • [1] Flow control and congestion control – Refer to a set of techniques enabling a data source to match its transmission rate to the currently available service rate at the receiver and in the networks. – Flow Control Mechanism Design Ceriteria » Simple to implement and use least network resources » Scales well as the network size increases » Must be stable and converging to equilibriums • [2] Error Control and Loss Recovery – Refer to a set of techniques to detect and correct data losses – Two levels of error control » Bit-level: inversion of 0 bit to 1, or 1 bit to 0, also called bit corruption => often occur over the mobile and wireless networks » Packet-level: packet loss, duplications, reordering => often occur and be treated at higher layer protocol, such as TCP, over wired networks. » Erasure error: the information about the positions of error/loss is available for error control => packet level loss usually be treated as erasure loss by using sequence number. 39 Classification of Flow Control Mechanisms • Open-loop control scheme – Flow control function is achieved without using feedback via the closed-loop channel. • Closed-loop flow control scheme – Flow control adapt its transmission rate to the bottleneck available bandwidth according to the feedback through the closed-loop channel » Window-based scheme vs. Rate-based schemes » Explicit scheme vs. Implicit scheme » End-to-end scheme vs. Hop-by-Hop scheme • Hybrid schemes – Mixing open-loop flow control with closed-loop scheme 40 TCP Flow Control Categories and Principles • Flow control categories – Implicit, – Window-based, – End-to-End scheme. • TCP Hahoe – Use timeout to detect packet loss and congestions • TCP Reno – Use triple-duplicate ACK to same sequence number and timeouts to detect packet loss and congestions – Use fast retransmissions and fast recovery » Skip Slow Start phase • TCP Vegas – Use expected and measured throughputs to detect congestions 41 References • Basic knowledge of calculus • Programming experiences – familiar with C/C++/UNIX – useful reference books: • “Internetworking with TCP/IP, Vol’s I, II, III” by Doug Comer • “TCP/IP Illustrated, Vol’s 1 & 2” by Stevens References • Probability Theories & Applications – Discrete vs. continuing random variables – Probability distribution functions – Stochastic process • Optimization Principles