Outlines • Network Protocols and TCP/IP • Networking Addressing • Routing • Network flow control and QoS
Transmission Control Protocol/ Internet Protocol (TCP/IP) The Transmission Control Protocol/ Internet Protocol (TCP/IP) was developed for the U.S. Dept of Defense’s Advanced Research Project Agency Network (ARPANET) in 1974. TCP/IP allows reasonable efficient and error-free transmission.
TCP/IP TCP/IP has two parts: • TCP - performs packetizing: TCP is only active at the sender and receiver. • IP - performs routing and addressing. A typical TCP packet has 192-bit (24-byte) header of control information.
TCP/IP Two forms of IP are currently in use: • IPv4 also has a 192-bit (24-byte) header. • IPv6 has a 320-bit (40-byte) header. The primary reason for the increase in packet size is an increase in the address size from 32 bits to 128 bits, due to the dramatic growth in the usage of the Internet. The size of the message field depends on the data link layer protocol used. TCP/IP is commonly combined with Ethernet.
TCP Packet 1 2 3 4 5 6 7 8 9 10 11 User Data 1 Source ID 16 bits 2 Destination ID 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
IP Packet version IP4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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 15 Flow name 24 bits 16 Next header 8 bits IP6 1 15 4 16 8 11 (128 bits) 12 (128 bits) 14
*History of IPng Effort • By the Winter of 1992 the Internet community had developed four separate proposals for IPng. These were "CNAT", "IP Encaps", "Nimrod", and "Simple CLNP". By December 1992 three more proposals followed; "The P Internet Protocol" (PIP), "The Simple Internet Protocol" (SIP) and "TP/IX". In the Spring of 1992 the "Simple CLNP" evolved into "TCP and UDP with Bigger Addresses" (TUBA) and "IP Encaps" evolved into "IP Address Encapsulation" (IPAE). • By the fall of 1993, IPAE merged with SIP while still maintaining the name SIP. This group later merged with PIP and the resulting working group called themselves "Simple Internet Protocol Plus" (SIPP). At about the same time the TP/IX Working Group changed its name to "Common Architecture for the Internet" (CATNIP). • The IPng area directors made a recommendation for an IPng in July of 1994 [RFC 1752]. • The formal name of IPng is IPv6
Why Need IPv6? • Internet Growth • Network numbers and size • Traffic management • Quality of Services (QoS) • Internet Transition • Routing • Addressing • No question that an IPv6 is needed, but when
Other Protocols • Internetwork Packet Exchange/Sequenced Packet Exchange (IPX/SPX) • Developed by Xerox in the 1970s. It is primary network protocol used by Novell NetWare. Novell has replaced IPX/SPX with TCP/IP. • X.25 • ITU-T’s standard for WAN. Mature standard. Seldom used in north America. • System Network Architecture (SNA) • IBM developed SNA in 1974. It is used on IBM’s mainframes. It is hard to integrate SNA with other networks.
The Message Field Size Maximum Ethernet packet size = 1492 TCP message field 1492 - 24 (TCP header) - 24 (IPv4 header) = 1444
Types of addresses Address Example Software Example Address Application Layer Web browser ike.ba.ttu.edu (also called domain name) Network Layer TCP/IP 220.127.116.11 Data Link Layer Ethernet 00-A0-C9-96-1D-90
Addressing The network layer determines the best route through the network to the final destination. Based on this routing, the network layer identifies the data link layer address of the next computer to which the message should be sent.
Assigning Addresses In general, the data link layer address is permanently encoded in each network card, and as part of the hardware that cannot be changed. Network layer addresses are generally assigned by software. Every network layer software package usually has a configuration file that specifies the network layer address for that computer.
Assigning Addresses Application layer addresses (or server addresses) are also assigned by a software configuration file. Virtually all servers have an application layer address, but most client computers do not. Network layer addresses and application layer addresses go hand in hand. ike.ba.ttu.edu - means 18.104.22.168 at the network layer.)
How IP Addresses Distributed • Internet Corporation for Assigned Names and Numbers (ICANN) oversees the Internet Assigned Numbers Authority (IANA) and controls how the Net's 4.29 billion IP addresses are used. • IANA distributes address space to three geographically diverse Regional Internet Registries (RIRs) and encourage three RIRs to operate so that addresses remain unique, are mapped efficiently, and are treated as a precious resource. • Three RIRs dole out available pools of IP based on a shared criteria. All deploy numerical address space to ISPs, local registries, and in some cases small users.
IP Address Allocation IANA InterNIC America RIPE Europe APNIC Asia National Regional Consumer
Three RIRs • American Registry for Internet Numbers (ARIN) • Reseaux IP Europeen (RIPE) • Asia Pacific Network Information Centre (APNIC)
Internet Addresses InterNIC is responsible for network layer addresses (IP addresses) and application layer addresses or domain names (www.ttu.edu). There are five classes of Internet addresses. Classes A, B, and C are available to organizations Class D and E are reserved for special purposes and are not assigned to organizations.
Internet Address Classes • Class A (/8 address) • The first digit is fixed, ranging 1-126 (01-7E), 16 million addresses • 127.x.x.x is reserved for loopback • Class B (/16 address) • First two bytes are fixed with the first digit ranging 128-191 (80-BF), 65,000 addresses. • Class C (/24 address) • First 3 bytes are fixed, with the first digit ranging 192-223 (C0-DF), 254 addresses. • Class D & E • The first digit is 224-239 (E0-EF) and 240-255 (F0-FF) respectively. • Reserved for special purposes and not available to organizations.
Internet Address Classes Ranges of the first byte for different classes: 224 239 126 128 191 192 223 1 240 255 1/2 1/4 1/8 1/16 1/16 Class A Class B Class D Class E Class C Class A: 0xxxxxxx Class B: 10xxxxxx.xxxxxxxx Class C: 110xxxxx.xxxxxxxx.xxxxxxxx Class D: 1110xxxx.xxxxxxxx.xxxxxxxx Class E: 1111xxxx.xxxxxxxx.xxxxxxxx Note: The IP addresses with the first byte as 0 and 127 are reserved
Internet Address Classes # of Addresses Class Available Addr-Structure Example Available# Class A 16 million First byte fixed 50.x.x.x 127 Organization assigns last three bytes Class B 65k First two bytes fixed 128.192.x.x 16k Organization assigns last two bytes Class C 254 First three bytes fixed 192.1.56.x 2 millions Organization assigns last byte
Internet Addresses The Internet is quickly running out of addresses. Although there are more than 1 billion possible addresses, the fact that they are assigned in sets (or groups) significantly restricts the number of usable addresses. The IP address shortage was one of the reasons behind the IPv6, providing in theory, 3.2 x 1038 possible addresses. How to apply for IP address?
Subnets Assign IP addresses to specific computers so that all computers on the same local area network have a similar address. Each LAN that is logically grouped together by IP number is called a TCP/IP subnet. Benefit: • allows it to be connected to the Internet with a single shared network address • an necessary use of the limited number of network numbers • Overload Internet routing tables on gateways outside the organization
Gateway 22.214.171.124 126.96.36.199
Subnet Mask Subnet mask enables a computer to determine which computers are on the same subnet. This is very important for message routing. E.g. IP address: 188.8.131.52 Subnet mask: 255.255.255.0 IP address: 129.118.49.x is for the computers in the same subnet
Subnet Subnet with partial bytes addresses. E.g. 184.108.40.206 to 220.127.116.11 • Subnet mask: 255.255.255.128 • Subnet address: 18.104.22.168 • Subnet broadcast address: 22.214.171.124
Subnet IP address: 126.96.36.199 1000 0001.0111 0110.0011 0001.0110 1111 Subnet mask: 255.255.192.0 1111 1111.1111 1111.1100 0000.0000 0000 The IP prefix 1000 0001.0111 0110.00 Destination IP: 188.8.131.52 1000 0001.0111 0110.0011 0011.0110 1111 Destination IP: 184.108.40.206 1000 0000.0101 0011.0111 1111.0000 0001
128 192 192 224 224 240 240 248 248 252 252 254 255 Subnet Mask Template Broadcast Address 220.127.116.11 255 255 0 0 Host Address 150 1 128 64 32 16 8 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 Network ID–Class B 128 Mask Numbers Possible Subnet Address
Dynamic Addressing An address assignment problem: Each time the computer is moved, or its network is assigned a new address, the software on each individual computer must be updated. Solution: dynamic addressing With this approach, a server is designated to supply a network layer address to a computer each time the computer connects to the network.
Dynamic Addressing Two standards for dynamic addressing are commonly used in TCP/IP networks: • Bootstrap Protocol (bootp) for dial-up networks (1985) • Dynamic Host Control Protocol (DHCP) for non-dial-up networks (1993)
Dynamic Addressing The Bootp or DHCP server can be configured to assign the same network layer address to the computer each time it requests an address or it can lease the address to the computer by picking the “next available” network layer address from a list of authorized addresses. Dynamic addressing greatly simplifies network management in non-dial-up networks too.
Address Resolution Address resolution: The sender translates the application layer address (or server name) of the destination into a network layer address; and in turn translates that into a data link layer address. Two approaches used in TCP/IP: • Server address resolution • Data link layer address resolution.
Server Name Resolution Domain Name Service (DNS) Used for translating application layer addresses into network layer addresses. InterNIC Keeps the name and IP addresses of the name server that will provide DNS information for your address classes.
Domain Name System • 32-bit IP addresses have two drawbacks • Routers can’t keep track of every network path • Users can’t remember dotted decimals easily • Domain names address these problems by providing a name for each network domain (hosts under the control of a given entity)
*DNS Database • Hierarchical database containing name, IP address, and related information for hosts • Provides name-to-address directory services • Key features: • Variable-depth hierarchy. Unlimited levels • Distributed database. Scattered throughout the Internet and private intranet. • Distribution controlled by the database. Thousands of separately managed zones managed by separate administrators
Server Name Resolution Server address resolution process: • TCP/IP sends a special TCP-level packet to the nearest DNS server asking for the requesting computer the IP address that matches the Internet address provided. • If the DNS does not have the answer for the request, it will forward the request to another DNS. This is why it sometimes takes a long time to access certain sites. IP addresses are then temporarily stored in a server address table.
Data Link Layer Address Resolution In order to actually send a message, the network layer software must know the data link layer of the destination computer. In the case of a distant computer, the network layer would route the message by selecting a path through the network that would ultimately lead to the destination.
Data Link Layer Address Resolution The process: • TCP/IP software sends a broadcast message (using Address-Resolution-Protocol or ARP) to all computers in its subnet requesting the data link layer address. • The computer with the right IP address responds with its data link layer address • The message is sent to the destination computer
Routing There are many possible routes or paths a message can take to get from one computer to another. Routing The process of determining the route or path through the network that a message will travel from the sender to the receiver. Routing table The routing information on each router, which specifies how message will travel through the network. Types of routing: Centralized routing Decentralized routing: Static routing, Dynamic routing
Routing Table for Computer B Destination Route A A C C D A E E F E G C
Static Routing • Static Routing • The routing table is developed by the network manager, and changes are made only when computers are added or removed from network.
Dynamic Routing Dynamic Routing (adaptive routing) • An initial routing table is developed by the network manager, but is continuously updated by the computers themselves to reflect changing network conditions, such as network traffic. • Used when there are multiple routes through a network and it is important to select the best (or fastest) route, in order to route messages away from traffic on busy circuits.
Dynamic Routing Commonly used dynamic routing protocols • Routing Information Protocol (RIP) - used by the network manager to develop the routing table. • Border Gateway Protocol (BGP). A dynamic exterior routing protocol for the Internet. • Internet Control Message Protocol (ICMP) - used on the internet with TCP/IP. • Open Shortest Path First (OSPF) uses the number of computers in a route as well as network traffic and error rates to select the best route. • Enhanced Interior Gateway Routing Protocol (EIGRP) – a dynamic link state interior routing protocol and commonly used inside an organization.
Dynamic Routing Routing Information Protocol (RIP) • When new computers are added, it counts the number of computers in the possible routes to the destination and selects the rout with the least number. • Computers using RIP send broadcast messages every minute or so to announce routing state. • It is used by TCP/IP and IPX/SPX.