310 likes | 423 Vues
The Internet Protocols. COMT 429. History. 1969 First version of a 4 node store and forward network, the ARPAnet 1972 Formal demonstration of ARPAnet with 20 packet switches and 50 hosts
E N D
The Internet Protocols COMT 429
History 1969 First version of a 4 node store and forward network, the ARPAnet 1972 Formal demonstration of ARPAnet with 20 packet switches and 50 hosts mid-70s UNIX distributed to academic and research sites. DEC PDP-11 systems gain wide acceptance. Initial research on TCP. 1980 DEC VAXs appear and replace PDP-11. Berkley UNIX provided with TCP implementation. 1983 ARPAnet goes to TCP full-time. Sun Computers incorporate TCP/IP.
Protocol Overview E-Mail HTTP (WWW) Remote Login File Transfer TCP UDP IP ICMP ARP RARP (Auxiliary Services) X.25 Packet Layer Ethernet, X.25, HDLC etc.
Network Hierarchy “Backbone” “Gateway”
Types of Connections • Connection-Oriented Protocols • Requires Set-Up and Termination • Provides Sequencing, Flow Control, Error Handling • Connection-Less Protocols • Also referred to as “Datagram” or “Best Effort” Delivery • Typically does include Error Detection
Connection Types in TCP/IP Transport Layer TCP: Connection Oriented UDP: Connection-less Connection-less Network Layer Data Link Layer and Physical Network Depends on the network
The IP Protocol TCP/IP
IP Header Version Header Len Class of Service Total Length Identification D M Fragment Position Timeout Protocol Header Checksum Source Address Destination Address
UDP Header Source Port Destination Port Checksum Length
TCP Header Source Port Destination Port Sequence Number Acknowledgement Number misc Flags Window (flow cntrl) Checksum Urgent Options
Addressing IP Addresses are 32 bits long, originally using one of three formats: 0NNNNNNN HHHHHHHH HHHHHHHH HHHHHHHH or 10NNNNNN NNNNNNNN HHHHHHHH HHHHHHHH or 110NNNNN NNNNNNNN NNNNNNNN HHHHHHHH N = Network Address Bit H = Host Address Bit
Notation • Dotted Decimal: • 192.149.89.61 = 1100 0000 1001 0101 0101 1001 0011 1101 = C0 95 59 3D • 132.235.75.17 • The Network: • 192.149.89.0 • Broadcast on that network: • 192.149.89.255
Routing in an Autonomous System • Assign a network class that grants enough host addresses. • The internet routes based on one network number • Do we find a host inside the autonomous system? OU Internet RTVC 132.235.0.0 CS (Morton)
Subnetworks • Divide the Host Section • Network 132.235.0.0 • Use half of the host id as a subnetwork • 10NNNNNN NNNNNNNN SSSSSSSS HHHHHHHH • Network Mask 255.255.255.0 • 132.235.75.17 • Internet network 132.235.0.0 • Internal Network 132.235.75.0 • Host 17
An Example Web Server: www.lerc.nasa.gov Web Browser “Backbone”
The Request • User types into the browser: • “http://www.lerc.nasa.gov/index.htm”
Browser Interpretation • “http://www.lerc.nasa.gov/index.htm” • Protocol to use is HTTP (HyperText Transfer Protocol); the transport protocol is TCP • The requested server is named www.lerc.nasa.gov • The SAP address is 80 • The requested file is “index.htm”
Name Resolution • www.lerc.nasa.gov is not an actual address • Make a call to the “resolver” (or, in most PCs, the “stub resolver”) to get a numeric address. • The answer may come from local storage, or may itself require a network transmission using the Domain Name System (DNS) protocols. • The name space and the address space are unrelated, except that they can be translated into each other.
HTTP Message • The browser assembles a text message: • First line: • GET index.htm • Optional additional lines: • Browser type • HTTP version number • Transmission option negotiation
Request to TCP • Browser makes a call to TCP, asking to open a connection to the numeric browser address
Request to IP • TCP creates a header with the origin and destination SAPs • TCP sets a “flag” (bit) to request a new connection (SYN) • TCP may set other parameters and options
Locate the Gateway • IP needs to find a way to get the TCP PDU (called a segment) to the destination address. • Since the destination is on a different network, it needs a gateway.
Locate the Physical Gateway Address • IP knows the global (IP) address of the gateway. • To make a request of the data link layer, it needs the physical (MAC - Media Access Control) address of the gateway. • The ARP protocol is used to broadcast a request for the “owner” of the IP gateway address. • The gateway responds to the broadcast; IP learns the MAC address from the response.
Dispatch the SYN Packet • IP creates one or more packets (usually one in this case). • The header has the origin and destination IP addresses and other options. • The packet goes to the Ethernet driver, which attaches the MAC (Ethernet origin and destination), and sends the packet to the gateway.
Routing • The gateway receives the packet, and determines that it is not: • addressed to the gateway itself (at the IP level) • addressed to any networks the gateway is attached to • The gateway examines its routing table, and selects a circuit to send the packet out on.
Receipt • www.lerc.nasa.gov receives the packet. • IP removes its headers after error-checking the header • TCP removes its headers, after error-checking the entire packet. • TCP consults the owner of SAP 80, and determines that the web browser is willing to create the connection.
Response • TCP creates an empty packet • The packet acknowledges the receipt of the SYN • TCP responds to any options that may have been requested in the SYN
Request Transmission • The browser is informed that the connection has been created. • The actual text message (the GET…) is now handed to TCP • TCP attaches its header and contacts IP • IP attaches its header and uses the Ethernet driver to send the packet to the gateway • etc.
Response • The packet is received and checked by IP and TCP; they each remove their headers. • TCP notifies the web server • The web server reads the GET request • The server creates a header with responses to the options requested by the browser • The server adds a line to the header indicating the format of the file (MIME) • The header is followed by a blank line and the actual file content.
Standards Setting ISOC IANA IESG IAB IETF Area Directors Internet Routing General User Services Applications Areas Operations and Management Security Transport Working Groups