430 likes | 576 Views
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
E N D
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 atransmission 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
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
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 • Web, email, multimedia Host Host video Application Host Web Host Host email
One network application example Smith@lcs.mit.edu Bob@ece.tamu.edu msg
What is happening inside ? email Bob@ece.tamu.edu Smith@lcs.mit.edu msg Transport protocol Transport protocol Network protocol Network protocol Network protocol Network protocol physical net Physical net Physical net
A C B physical connectivity Protocol layers Layered Network Architecture • network consists of geographically distributed hosts and switches (nodes) • Nodes communicate with each other by standard protocols host switch A B C D network topology
a picture of protocol layers A Application (data) header data Transport segment header DATA network packet tail DATA header Ethernet frame B physical connectivity What’s in the header: info needed for the protocol’s function
TCP/IP Protocol Suite • IP Protocol: Inter-networking protocol • RFC791 • TCP Protocol: reliable transport protocol • RFC793
The picture of the world according to IP application protocols TCP UDP transport (end-to-end) transport layer protocols universal datagram delivery inter-network layer IP subnets hardware-specific network technologies ethernet token-ring FDDI dialup ATM
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 Application process • More terminology: • TCP segment • Max. segment • size (MSS) W rite Read bytes bytes TCP TCP Send buffer Receive buffer segment segment
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
TCP header format 31 0 16 IP header source port destination port Data sequence number acknowledgment number u a p r s f r c s s y i g k h t n n Hlen unused window size checksum urgent pointer Options (viable length) data
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
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.
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
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
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