960 likes | 1.56k Views
The TCP/IP Protocol. Introduction To TCP/IP. Transmission Control Protocol/Internet Protocol (TCP/IP) Most commonly used network protocol suite today Wide vendor support Open protocol Provides access to Internet services Windows Server 2003 Can use several protocols
E N D
Introduction To TCP/IP • Transmission Control Protocol/Internet Protocol (TCP/IP) • Most commonly used network protocol suite today • Wide vendor support • Open protocol • Provides access to Internet services • Windows Server 2003 • Can use several protocols • Many of its main features require the use of TCP/IP
Internet History 1961-1972: Early packet-switching principles 1961: Kleinrock - queueing theory shows ` effectiveness of packet-switching 1964: Baran - packet-switching in military nets 1967: ARPAnet conceived by Advanced Research Projects Agency 1969: first ARPAnet node operational 1972: ARPAnet demonstrated publicly, NCP (Network Control Protocol) first host-host protocol, first e- mail program. ARPAnet has 15 nodes
Internet History 1972-1980: Internetworking, new and proprietary nets 1970: ALOHAnet satellite network in Hawaii 1973: Metcalfe’s PhD thesis proposes Ethernet 1974: Cerf and Kahn - architecture for interconnecting networks late70’s: proprietary architectures,DECnet, SNA, XNA 1979: ARPAnet has 200 nodes
Internet History 1972-1980: Internetworking, new and proprietary nets • Cerf and Kahn’s internetworking principles: • minimalism, autonomy-no internal changes required to interconnect networks • best effort service model • stateless routers • decentralized control • define today’s Internet architecture
Internet History 1980-1990: new protocols, a proliferation of networks 1983: deployment of TCP/IP 1982: SMTP e-mail protocol defined 1983: DNS defined for name-to-IP- address translation 1985: FTP protocol defined 1988: TCP congestion control
Internet History 1980-1990: new protocols, a proliferation of networks US networks: Csnet, BITnet, NSFnet, Minitel 100,000 hosts connected to confederation of networks
Internet History 1990, 2000’s: commercialization, the Web, new apps • Early 1990’s: ARPAnet decommissioned • 1991: NSF lifts restrictions on commercial use of NSFnet (decommissioned, 1995) • early 1990s: Web • hypertext [Bush 1945, Nelson 1960’s] • HTML, HTTP: Berners-Lee • 1994: Mosaic, later Netscape • late 1990’s: commercialization of the Web
Internet History 1990, 2000’s: commercialization, the Web, new apps • Late 1990’s – 2000’s: • more killer apps: instant messaging,peer-2-peer file sharing (e.g., Naptser) • network security to forefront • est. 50 million host, 100 million+ users • backbone links running at Gbps • now: 10-40 Gbps (youtube, social networking)
The (capital “I”) Internet The world-wide network of TCP/IP networks Different people or organisations own different parts Different parts use different technologies Interconnections between the parts Interconnections require agreements sale/purchase of service contracts “peering” agreements No central control or management
The principle of “Internetworking” We have lots of little networks Many different owners/operators Many different types Ethernet, dedicated leased lines, dialup, optical, broadband, wireless, ... Each type has its own idea of low level addressing and protocols We want to connect them all together and provide a unified view of the whole lot (treat the collection of networks as a single large internetwork)
What’s the Internet millions of connected computing devices: hosts, end-systems PC’s workstations, servers PDA’s phones, communication links fiber, copper, radio, satellite routers: forward packets (chunks) of data through network router workstation server mobile local ISP regional ISP company network
TCP/IP Architecture Overview • The TCP/IP model can be broken down into four layers: • Application • Transport • Internet • Physical Network Interface • Application layer provides access to network resources. It defines rules, commands, and procedures for client to talk to a service running on a server
TCP/IP Architecture Overview (continued) • Transport layer is responsible for preparing data ready to be transported across the network • Internet layer is responsible for logical addressing and routing • Physical Network Interface layer consists of the network card driver and the network card itself
The TCP/IP Model SMTP HTTP FTP Telnet DNS Audio Video TCP UDP RTP IP Ethernet ATM Optics ADSL 3G PPP Satellite Application layer Transport layer Network layer Physical and Data link layer
Layer Interaction:TCP/IP Model Application Application TCP or UDP TCP or UDP IP IP IP IP Link Link Link Link Link Link Physical Physical Physical Router Host Host Router
Layer Interaction:The Application Layer Application Application TCP or UDP TCP or UDP IP IP IP IP Link Link Link Link Link Link Physical Physical Physical Applications behave as if they can talk to each other, but in reality the application at each side talks to the TCP or UDP service below it. The application layer doesn't care about what happens at the lower layers, provided the transport layer carries the application's data safely from end to end. Router Host Host Router
Layer Interaction:The Transport Layer Application Application TCP or UDP TCP or UDP IP IP IP IP Link Link Link Link Link Link Physical Physical Physical The transport layer instances at the two ends act as if they are talking to each other, but in reality they are each talking to the IP layer below it. The transport layer doesn't care about what the application layer is doing above it. The transport layer doesn't care what happens in the IP layer or below, as long as the IP layer can move datagrams from one side to the other. Router Host Host Router
Layer Interaction:The Network Layer (IP) Application Application TCP or UDP TCP or UDP IP IP IP IP Link Link Link Link Link Link Physical Physical Physical The IP layer has to know a lot about the topology of the network (which host is connected to which router, which routers are connected to each other), but it doesn't care about what happens at the upper layers. The IP layer works forwards messages hop by hop from one side to the other side. Router Host Host Router
Layer Interaction:Link and Physical Layers Application Application TCP or UDP TCP or UDP IP IP IP IP Link Link Link Link Link Link Physical Physical Physical The link layer doesn't care what happens above it, but it is very closely tied to the physical layer below it. All links are independent of each other, and have no way of communicating with each other. Router Host Host Router
Message Layers Application Messages (UDP) or Streams (TCP) Transport UDP or TCP segment Internet IP Packets PhysicalNetwork interface Network-specific frames Underlying network A Flow of Application messages across TCP/IP layers
Application message port TCP header TCP IP header Ethernet header IP Ethernet frame Encapsulation of a message transmitted via TCP over an Ethernet
Layering: physical communication application transport network link physical network link physical application transport network link physical data data application transport network link physical application transport network link physical
Application Layer Protocols • There are many Application layer protocols, each of which is associated with a client application and service provided by a server (Client/Server Model) • HTTP • FTP • TELNET • SMTP • POP3 • IMAP4
Application Layer Protocols HTTP • Hypertext Transfer Protocol (HTTP) is the most common protocol used on the Internet today • HTTP defines the commands that Web browsers can send and how Web servers are capable of responding FTP • File Transfer Protocol (FTP) is file-sharing protocol • FTP is implemented in stand-alone FTP clients as well as in Web browsers • It is safe to say that most FTP users today are using Web browsers
Application Layer Protocols TELNET • Telnet is a terminal emulation protocol that is primarily used to connect remotely to UNIX and Linux Systems • The Telnet protocol specifies how a telnet server and telnet client communicate
Application Layer Protocols SMTP • Simple Mail Transfer Protocol (SMTP) is used to send and receive e-mail messages between e-mail servers that are communicating • It is used by e-mail client software, such as Outlook Express, to send messages to the server • SMTP is never used to retrieve e-mail from a server when you are reading it • Other protocols control the reading of e-mail messages
Application Layer Protocols POP3 • Post Office Protocol version 3 (POP3) is the most common protocol used for reading e-mail messages • This protocol has commands to download messages and delete messages from the mail server • POP3 does not support sending messages • POP3 supports only a single inbox and does not support multiple folders for storage on the server
Application Layer Protocols IMAP4 • Internet Message Access Protocol version 4 (IMAP4) is another common protocol used to read e-mail messages • IMAP4 can download message headers only and allow you to choose which messages to download • IMAP4 allows for multiple folders on the server side to store messages
Transport Layer Protocols • Transport layer protocols (TCP & UDP) are responsible for getting data ready to move across the network • The most common task performed by Transport layer protocols is breaking entire messages down into segments suitable to form packets • Transport layer protocols use port numbers • When a segment is addressed to a particular port, the Transport layer protocol knows to which service to deliver the packet
TCP • Transmission Control Protocol (TCP) is the most commonly used Transport layer protocol for most Internet services • TCP is connection-oriented and reliable • Connection-oriented means that TCP creates and verifies a connection with a remote host before sending information • Verifies that the remote host exists and is willing to communicate before starting the conversation • Provides flowcontrol, segmentation, and error control
TCP Connection-oriented Establishes a connection before transmitting data Three-way handshake SYN SYN/ACK ACK
TCP Error control & Flow control Require acknowledgements from receiver to ensure data was received correctly Checksum Unique character string allowing receiving node to determine if arriving data unit exactly matches data unit sent by source Ensures data integrity Send data, wait for ACK ACK Send more data, wait for ACK
Segmentation Breaking large data units received from Session layer into multiple smaller units called segments Increases data transmission efficiency MTU (maximum transmission unit): Largest data unit network will carry (Ethernet default: 1500 bytes) Sequencing Method of identifying segments belonging to the same group of subdivided data Reassembly Process of reconstructing segmented data units TCP
Transport Layer (cont’d.) Figure 2-2 Segmentation and reassembly
1 2 3 4 5 6 7 8 9 10 11 User Data TCP Segment 1 Source ID or port 16 bits 2 Destination ID or port 16 bits 3 Sequence number 32 bits 4 ACK number 32 bits 5 Header length 4 bits 6 Unused 6 bits 7 Flags 6 bits 8 Flow control 16 bits 9 CRC 16 16 bits 10 Urgent pointer 16 bits 11 Options 16 bits
UDP • User Datagram Protocol (UDP) • Not as commonly used as TCP • Used for different services • Connectionless and unreliable • UDP is the appropriate if • Unconcerned about missing packets • Want to implement reliability in a special way • Streaming audio and video are in this category
1 2 3 4 User Data UDP – Segment • Source ID or port • Destination ID or port • Length • 4 Checksum
TCP versus UDP • TCP is connection-oriented and reliable • Like registered mail • UDP is connectionless and unreliable • Like sending a message split on several postcards and assuming that the receiver will be able to put the message together
Internet Layer Protocols • Internet layer protocols are responsible for all tasks related to logical addressing • An IP address is a logical address • Any protocol that is aware of other networks exists at this layer • Each Internet layer protocol is very specialized • They include: IP, RIP and OSPF, ICMP, IGMP, and ARP
Internet Layer Protocols IP • Internet Protocol (IP) is responsible for the logical addressing of each packet created by the Transport layer to produce a complete IP Packet • As each packet is built, IP adds the source and destination IP address to the IP packet ICMP • Internet Control Messaging Protocol (ICMP) is used to send IP error and control messages between routers and hosts • The most common use of ICMP is the ping utility
IP4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 IP Packet version 4 1 Version number 4 bits 2 Header length 4 bits 3 Type of Service 8 bits 4 Total length 16 bits 5 Identifiers 16 bits 6 Flags 3 bits 7 Packet offset 13 bits 8 Hop limit 8 bits 9 Protocol 8 bits 10 CRC 16 16 bits 11 Source address 32 bits 12 Destination Address 32 bits 13 Options varies 14 User data varies
Internet Layer Protocols IGMP • Internet Group Management Protocol (IGMP) is used for the management of multicast groups • Hosts use IGMP to inform routers of their membership in multicast groups • Routers use IGMP to announce that their networks have members in particular multicast groups • The use of IGMP allows multicast packets to be distributed only to routers that have interested hosts connected
Internet Layer Protocols ARP • Address Resolution Protocol (ARP) is used to convert logical IP addresses to physical MAC addresses • This is an essential part of the packet delivery process
Network Interface Layer Protocols • Most of the common Network Interface layer protocols are defined by the Institute of Electrical and Electronics Engineers (IEEE)
IP Addresses • Internet Protocol (IP): • a protocol used in the internet layer. • IP makes use of the existing networks to deliver information, where these networks may use a variety of protocols. • Each computer has two addresses: • hardware address: used by the underlying network protocol for deliver data frame; • IP address: used by the internetworking protocols for deliver IP Packet. • Hardware address is also known as physical address.
Types of addresses used on hosts Address Example Software Example Address Application Layer Web browser www.cba.uga.edu Network Layer TCP/IP 128.192.98.5:80 Data Link Layer Ethernet 00-0C-00-F5-03-5A
IP Addresses IP Addressing Scheme • Each computer / router is assigned a unique IP address having 32 bits. • Each IP address has two parts: • The prefix (network ID or NetID) specifies the network to which the computer is attached. • The suffix (HostID) specifies a particular computer on a network. • Problem • Given only 32 bits, how many bits should be allocated to the prefix and the suffix? • around 4 billion addresses.