Computer Networks: Network Layer 2 Prof. M.Sreenivasa Rao
Computer Networks: Network Layer 2 Prof. M.Sreenivasa Rao
Chapter 5
Network Layer 2
Chap. 5- Net2 2
Chapter Overview
The Network Layer is concerned about getting
packets from source to destination, no
matter how many hops it may take. It’s all
about routing.
5.4 Internetworking
Working with multiple networks and protocols in
order to deliver packets.
Chap. 5- Net2 3
Overview
Internetworking
5.1 Network Layer Design Issues Getting various networks to all play together.
5.2 Routing Algorithms Problems occur because:
1. Companies don’t have cohesive policies for
5.3 Congestion Control networking.
Algorithms 2. New technology replaces some of the old
5.4 Internetworking technology.
5.5 The Network Layer in the
Internet
Chap. 5- Net2 4
Internetworking Overview
Chap. 5- Net2 5
Internetworking Overview
Chap. 5- Net2 6
Internetworking Overview
Internetworking deals with the issues of interconnecting multiple networks. Physical networks can be
connected at several levels:
1. Repeaters operate at the physical layer (layer 1), copying signals from one LAN to another. They
operate at the bit level, and have no notion of what the bits (or even frames!) mean.
2. Bridges operate at the data link layer (layer 2), copying frames from one LAN to another.
a. They perform store-and-forward packet switching, but use only level-2 (e.g. frame fields)
information.
b. We've talked about these before in regard to the MAC layer, where we looked at spanning tree
and source routing methods.
4. Transport gateways connect two networks at the transport layer (level 4).
5. Application gateways operate at higher levels (level “7”). Application gateways can translate
between OSI mail and SMTP (Internet) mail formats, for instance.
Chap. 5- Net2 7
Internetworking Overview
Router Ownership
The reality isn't so simply layered - many products combine bridge and router functionality.
Chap. 5- Net2 8
Internetworking How Networks Differ
We've looked at some of these properties before, but here are a list of differences:
Chap. 5- Net2 9
Internetworking Multiprotocol Routers
Can use "routers" and "gateways" interchangeably or think of routers as within a subnet (same network)
versus gateways (between subnets).
Protocol Routers are packet switches that operate at the network layer (level 3). Operating at the
network level gives routers increased flexibility compared to bridges in terms of:
2. Fragmenting large packets for transmission across networks that carry only small maximum
packet lengths.
4. Enforcing policies (e.g., don't forward any local packets off of this network).
Because routers do more work than bridges, they generally run slower than bridges.
Chap. 5- Net2 10
Internetworking Concatenated Virtual Circuits
1. The sending host opens a virtual circuit as before, but now a circuit goes through router hops.
2. Any two neighboring routers at the internetworking level must be connected to a common network.
3. Regular router-based virtual circuits connect neighboring routers on the same physical network.
4. The end-to-end virtual circuit is a concatenation of individual virtual circuits through each of the
networks along the path.
So each gateway/router maintains tables for each of the connections passing through it - what router to
pass the packet on to, and an identifier for the virtual circuit.
Chap. 5- Net2 11
Internetworking Connectionless Internetworking
Connectionless internets operate just as connectionless networks.
• A host sends a packet to a neighboring router, which forwards it the next router, and so forth.
• Just as with connectionless networks, routers make only a best-effort attempt at delivering the packet.
Datagrams
The Network layer puts datagrams on the subnet. See Figure 5.37
• Networks with different networks protocols are tough to translate between. This is rarely attempted.
(See tunneling below.)
• Addressing - when adjacent networks have differing address schemes, the going gets tough. Again,
problems are generally insurmountable.
Chap. 5- Net2 12
Internetworking Connectionless Internetworking
Chap. 5- Net2 13
Internetworking Tunneling
Tunneling is a special case between two same-type networks across intervening foreign
network(s).
• The whole packet is encapsulated in the protocol of the foreign network to be crossed,
and then restored on the other side. See Figure 5.38
• This avoids, totally, trying to translate the packet.
Chap. 5- Net2 14
Internetworking Fragmentation
How to cross networks whose maximum transmission unit (MTU) is smaller than the packet being
transmitted.
2. In connectionless internets, the appropriate packet size depends on the path used.
a. Thus, it can change at any time.
In the general case, setting a minimum MTU for all networks is impractical. A minimum MTU would of
necessity be small, yet sending larger packets should be encouraged for efficiency reasons.
Solutions:
1. Have router drop packets that are too large to send across a network and return an error message
to the sender. The sending host could then retransmit the data in a smaller packet.
2. Have router fragment large packets into several fragments, each small enough to traverse the
network. There are two flavors called Transparent and non-Transparent Fragmentation.
Chap. 5- Net2 15
Internetworking Fragmentation
Transparent Fragmentation
With transparent fragmentation, end hosts (sender and receiver) are unaware that fragmentation has
taken place.
A router fragments a packet, and the next-hop router on the same network reassembles the fragments
back into the original packet.
Drawbacks are:
1. All fragments must travel through to the same router. They must all be reassembled by the same
next-hop router
2. Routers must be careful to avoid re-assembly lockup. (The deadlock problem discussed earlier,
where a router has used up all of its buffer space to hold fragments and can no longer accept
new ones).
3. Reassembling fragments uses precious router resources that could otherwise be used
forwarding packets).
Chap. 5- Net2 16
Internetworking Fragmentation
Non-Transparent Fragmentation:
As before, routers fragment packets when needed. Routers along the path do not reassemble.
Destination hosts perform re-assembly (if needed).
Downsides are:
1. Fragmenting increases waste: the sum of the bits of the individual fragments exceeds the
number of bits in the original message.
2. Loss of a single fragment requires an end-to-end retransmission; the loss of a single fragment
has the same effect as losing the entire packet.
3. More work to forward three small packets than one large one. The cost of forwarding packets
includes a fixed per-packet cost, that includes doing the route lookup, fielding interrupts, etc.
Chap. 5- Net2 17
Internetworking Firewalls
Require all network traffic to/from organization to go through a single point (firewall). The firewall has:
1. Packet filters
2. Application Gateway
3. Proxy Server
Packet Filters:
A router that inspects packets according to a set of rules. Rules generally consist of tables detailing what:
• remote machines can be communicated with.
• ports can be accessed.
Since functionality is associated with ports, incoming requests to port 79 (Finger) could be blocked.
Users could be prevented from telneting into the company, instead going through a modem with additional
password protection.
Chap. 5- Net2 18
Internetworking Firewalls
Application Gateway:
Actually looks at content - mail handler might reject spams, very large messages, “lurid” words, etc.
Editorial: If you allow the Internet on your site, you have only modest hope of real security.
Proxy Server:
Within a firewall:
• A local browser talks to the local proxy server (within the firewall.)
• That Proxy contacts remote sites and fetches pages.
• This fetching can be selective (protecting schoolkids, etc.)
Chap. 5- Net2 19
Overview
Network Layer In
The Internet
5.1 Network Layer Design Issues This section is TCP specific
5.2 Routing Algorithms
It’s how the Internet works.
5.3 Congestion Control
Algorithms Defined by RFC 791.
5.4 Internetworking
5.5 The Network Layer in the Most Popular Layer 3.
Internet
Chap. 5- Net2 20
Network Layer In The IP Protocol
The Internet
The Internet protocol suite covers (mostly) layers 3, 4, and 5, where ‘layer 5' means
everything in OSI layers 5-7.
At the physical and datalink layers, the TCP/IP protocols don't define any standards.
The protocols have been designed to operate over a large number of layer 2 protocols.
Chap. 5- Net2 21
Network Layer In The IP Protocol
The Internet
Application protocols include:
SMTP:
The Simple Mail Transfer Protocol is used to send mail from one machine to another.
SNMP:
The Simple Network Management Protocol provides monitoring and managing capabilities
for a network.
Telnet:
Provides remote login service. It allows a user on one machine to log into another machine
on the network.
FTP:
The File Transfer Protocol copies arbitrary files (e.g. binary, data, and source) from one
machine to another.
One problem that often arises is that different machines represent integers in different ways:
Big Endian machines such as IBM and Sun-3 computers store the most significant byte of
a 32-bit integer in the lowest memory address of the word (e.g. to the left).
• The integer 0x01020304 is laid out in memory as bytes 0x01, 0x02, 0x03, and 0x04.
Little Endian machines such as the Intel Processor store the most significant byte at the
highest address.
• The integer 0x01020304 is laid out in memory as bytes 0x04, 0x03, 0x02, 0x01.
As with all network protocols, the standards specify the meanings of all bits in each field,
right down to the bit and byte order.
The Internet defines a network Big Endian standard byte order that is used when referring to
the fields of Internet datagrams.
Chap. 5- Net2 23
Network Layer In The IPV4 Protocol
The Internet
INTERNET PROTOCOL (IP)
The goal of IP is to interconnect networks of diverse technologies and create a single, virtual
network to which all hosts connect.
Chap. 5- Net2 24
Network Layer In The IPV4 Protocol
The Internet
1. Version number (4-bits):
• The current protocol version is 4.
• Including a version number allows a future version of IP be used along side the current
version, facilitating migration to new protocols.
Chap. 5- Net2 25
Network Layer In The IPV4 Protocol
The Internet
3. Type-of-service (8-bits):
A hint to the routing algorithms as to what type of service we desire.
Precedence (3-bits): A priority indication, where 0 is the lowest and means normal service, while 7 is
highest and is intended for network control messages (e.g., routing, congestion control).
Delay (1-bit): An Application can request low delay service (e.g., for interactive use).
Note: These last three TOS bits will generally be mutually exclusive. Does setting the low-delay bit
guarantee getting such service? No. The type-of-service field is meant as a request or hint to the
routing algorithms, but does not guarantee that your request can be honored (e.g., there may not
be a low-delay path available).
Chap. 5- Net2 26
Network Layer In The IPV4 Protocol
The Internet
4. Total length (16-bits):
Total length of the IP datagram (in bytes), including data and header. The size of the data
portion of the datagram is the total length minus the size of the header.
Chap. 5- Net2 27
Network Layer In The IPV4 Protocol
The Internet
5 - 8. Identification (16-bits), Flags (3-bits), Fragment offset (13-bits):
Chap. 5- Net2 28
Network Layer In The IPV4 Protocol
The Internet
5 - 8. Identification (16-bits), Flags (3-bits), Fragment offset (13-bits) (Continued):
The identification field uniquely identifies fragments of the same original datagram.
Whenever a host sends a datagram, it sets the identification field of the outgoing datagram
and increments its local identification counter.
When a gateway fragments a datagram, it sets the offset field of each fragment to reflect at
what data offset with respect to the original datagram the current fragment belongs.
Fragmentation occurs in 8-byte chunks, so the offset holds the “chunk number”.
A 400-byte fragment having an offset of 300 chunks could be split into two 200-byte
fragments having offsets of 300 and 325 chunks, respectively.
Chap. 5- Net2 29
Network Layer In The IPV4 Protocol
The Internet
We need to know when we’ve received all of the fragments. To help with this, the flags field
may contain:
The More Fragments field indicates that another fragment follows this one. This
fragment is not the last fragment of the original datagram.
Note:
The total length field of the IP header refers to the current datagram, not the original.
Thus, the More Fragment bit is needed in order for the recipient host to determine when it
has all fragments of a datagram.
Chap. 5- Net2 30
Network Layer In The IPV4 Protocol
The Internet
5 - 8. Identification (16-bits), Flags (3-bits), Fragment offset (13-bits) (Continued):
Example:
Original Frame: IHL = 5, Length = 656, Fragment Offset = 0, More = 0
Fragment 1: IHL = 5, Length = 252, Fragment Offset = 0, More = 1
Fragment 2: IHL = 5, Length = 252, Fragment Offset = 29, More = 1
Fragment 3: IHL = 5, Length = 192, Fragment Offset = 58, More = 0
Chap. 5- Net2 31
Network Layer In The IPV4 Protocol
The Internet
9. Time-to-live (8-bits):
• What type of data the IP datagram carries (e.g., TCP, UDP, etc.).
• Needed by the receiving IP to know the higher level service that will next handle the
data.
Chap. 5- Net2 32
Network Layer In The IPV4 Protocol
The Internet
11. Header Checksum (16-bits):
Compute the 1's complement sum of the 16-bit words. Take the 1's complement of
the computed sum.
On receipt of a datagram, the computed checksum calculated over the received packet
should be zero.
Check summing only the header reduces the processing time at each gateway, but forces
transport layer protocols to perform error detection (if desired).
The header must be recalculated at every router since the time_to_live field is decremented.
Chap. 5- Net2 33
Network Layer In The IPV4 Protocol
The Internet
12. Source address (32-bits):
Note: When a gateway forwards a frame to another gateway, it forwards an Ethernet frame.
The IP embedded datagram contains the source of the original sender (not the forwarding
gateway) and the destination address of the ultimate destination.
Chap. 5- Net2 34
Network Layer In The IPV4 Protocol
The Internet
14. IP Options
IP datagrams allow the inclusion of optional, varying length fields that need not appear in every
datagram. We may sometimes want to send special information, but we don't want to dedicate a
field in the packet header for this purpose.
Options start with a 1-byte option code, followed by zero or more bytes of option data.
copy flag (1 bit): If 1, replicate option in each fragment of a fragmented datagram. That is, this option
should appear in every fragment as well. If 0, option need only appear in first fragment.
0 = network control
1 = reserved
2 = debugging and measurement
3 = reserved
option number (5 bits): A code indicating the option's type. See Figure 5.46 for these.
Chap. 5- Net2 35
Network Layer In IPV4 Addresses
The Internet
In the Internet, names consist of human-readable strings such as osborne, babbage, or
[email protected] or [email protected].
Addresses consist of compact, 32-bit identifiers. Internet software translates names into addresses and
addresses into names; lower protocol layers always uses addresses rather than names.
• network: The network part of an address identifies which network a host is on. Conceptually, each
LAN has its own unique IP network number.
• local: The local part of an address identifies which host on that network.
We'll look at subnets that add a third level to the hierarchy. With subnetting, the local part may consist of
a `site'), which is further broken down into local network number, local host.
The Internet consists of a collection of physical networks, each of which is assigned a unique number.
The network number is used to route between gateways.
Only the gateway on the same network as the destination uses the local part of the address in forwarding
a datagram.
Analogy: Zip codes get a letter to the local post office, the address takes it from the post office to your
house.
Chap. 5- Net2 36
Network Layer In IPV4 Addresses
The Internet
Address Classes
The Internet designers were unsure whether the world would evolve into a few networks with many hosts
(e.g., large networks), or many networks each supporting only a few hosts (e.g., small networks).
Thus, Internet addresses handle both large and small networks.
Internet address are four bytes in size, where:
Chap. 5- Net2 38
Network Layer In IPV4 Addresses
The Internet
Address Classes
Chap. 5- Net2 39
Network Layer In IPV4 Addresses
The Internet
Address Classes
Sample addresses can be obtained by using gethostbyname.
Chap. 5- Net2 40
Network Layer In IPV4 Addresses
The Internet
Address Classes
What happens to a host's internet address if that host moves from one network to another?
a) Its Internet address must change.
b) It’s important to distinguish between a machine's name and its address.
c) Physical (ethernet) address is constant, network (IP) address may change.
Chap. 5- Net2 41
Network Layer In Subnets
The Internet
This usage of “Subnets” is different from that we used
Goals: before to define the routers and lines in a network.
• We want to be able to reduce the number of networks seen by the outside world;
• We want to simplify the management of those many networks within the organization;
• We want to be able to slice the network/node “pie” in various ways.
1. A large organization or campus might have 30 or more LANs (one for each
department).
2. An organization will probably have only a single connection to the rest of the Internet.
3. In order for every local host to be able to communicate with other Internet machines,
routing entries for each of the 30 networks must exist in the core gateways.
4. In order for other sites to be able to respond to our queries, they must be able to route
packets back to us.
5. Wouldn't it be nice if we only needed to advertise a single network number for all 30
networks?
The Answer:
• Subnet addressing is a technique that allows a set of multiple, interconnected networks
to be covered by a single IP network number.
• IP addresses have a well-defined structure that allows a gateway to extract the network
portion of an address by simply looking at its class and an optional netmask.
Chap. 5- Net2 42
Network Layer In Subnets
The Internet
With subnetting, the local part of an IP address is further subdivided into a network and a
host part:
NO.
• They refer to hosts on the same network address (128.204), but they can actually be on
different ethernets connected by a bridge.
• To do this, we divide the local part (the two bytes to the right of 128.204) into a 1-byte
network part and a 1-byte host part.
• When sending data to 128.204.3.109 local gateways first route datagrams to the
(sub)network 128.204.3 rather than (IP network) 128.204.
YES.
• They refer to hosts on the same network address (128.204), but they can actually be on
the same ethernet.
• To do this, we divide the local part (the two bytes to the right of 128.204) into a 7-bit
network part and a 9-bit host part.
• Our example above is a Class B address; the technique applies also to Classes A and C.
Chap. 5- Net2 44
Network Layer In Subnets
The Internet
To implement subnetting, hosts and gateways use a subnet mask to extract the network
part of an IP address. This mask can be seen in Figure 5.49. In this example, 6 bits
are reserved for subnet, and 10 bits for host.
To distinguish between direct (the router knows how to get to the destination) and indirect
(the router sends the packet off for someone else to figure it out) routing,
2. For each of the machine's interface ports (hosts usually have only one, routers have
many):
a) Extract the destination address DEST from the datagram.
The routing algorithms described earlier remain essentially the same when subnetting is in use.
a) Routing algorithms may need to propagate the mask with a network number in routing
updates.
b) They need the mask to extract (sub)network numbers.
c) Subnetting extends the number of levels in the Internet's hierarchical routing scheme.
d) It trades off optimality of routes vs. table space in gateways.
Host can find out its mask: Host sends ICMP address mask requests; responses contain the
mask for the local network.
Chap. 5- Net2 46
Network Layer In Subnets
The Internet
27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1
140.192.56.45
140 192 56 45
IP Address
1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1
Network Subnet Host
255 255 255 0
NetMask
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
140 192 56 0
Network Address
1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
140.192.56.0/24
24-bit mask
8-bit subnet mask
140.192.56.45
140 192 56 45
IP Address
1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1
Network Subnet Host
255 255 240 0
NetMask
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
140 192 48 0
Network Address
1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
140.192.48.0/20
20-bit mask
4-bit subnet mask
Chap. 5- Net2 47
Network Layer In Subnets
The Internet
27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1
140.192.138.95
140 192 138 95
IP Address
1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0
140 192
Network Address
1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0
140.192.138.95
140 192 138 95
1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0
140 192
1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0
Chap. 5- Net2 48
Network Layer In Internet Control Protocols
The Internet
INTERNET CONTROL MESSAGE PROTOCOL (ICMP)
The Internet Control Message Protocol (ICMP) allows gateways and hosts
to send network control information to each other.
From a layering point of view, ICMP is a separate protocol that sits above
IP and uses IP to transport messages.
IP
Chap. 5- Net2 49
Network Layer In Internet Control Protocols
The Internet
INTERNET CONTROL MESSAGE PROTOCOL (ICMP)
ICMP
There are a number of message types of which we will talk about
only a few:
IP
Chap. 5- Net2 50
Network Layer In Internet Control Protocols
The Internet
Echo Requests
The ICMP echo request and echo reply messages are useful for network debugging.
Most systems supply an application program that sends and receives ICMP echo
messages.
In UNIX, the program ping allows a user to check whether a machine is reachable and
functioning.
Because ICMP messages are handled just like other IP datagrams, ICMP echo messages
test the reach-ability of any host. Also, because ICMP is an integral part of IP, all hosts
and gateways must implement ICMP.
Chap. 5- Net2 51
Network Layer In Internet Control Protocols
The Internet
Timestamp Messages
ICMP timestamp messages are used to estimate the transmission delays between
machines and to synchronize clocks:
Including both the receive and transmit timestamp allows the sending host to determine the
fraction of time spent transmitting vs. processing the request.
By averaging the measurements of several messages, the sender can estimate the offset
between its local clock and that on the remote machine. Note: it is quite feasible to
synchronize the clocks of all machines on a LAN to within several milliseconds of each
other.
Chap. 5- Net2 52
Network Layer In Internet Control Protocols
The Internet
When an IP module encounters an error while processing a datagram, it sends an ICMP
error message back to the original sender of the datagram. Errors include:
Source Quench: When a gateway becomes congested and runs out of buffer space,
it may discard a datagram and return a source quench message. Source quench
messages are used to request that the sender reduce the rate at which it is sending
datagrams.
Chap. 5- Net2 53
Network Layer In Internet Control Protocols
The Internet
MAPPING BETWEEN INTERNET AND PHYSICAL ADDRESSES
Suppose we have two machines A and B connected to the same network, and A wants to
send an internet datagram to B.
A must know B 's data link layer (MAC) address in order to send frames to B.
The problem of mapping Internet addresses to physical addresses is known as the address
resolution problem.
1. Each e-net device has its own unique number. Change the card and you change its
physical address.
2. Physical address are 6 bytes long, too large to multiplex within an Internet address.
4. But, adding new hosts should not require reconfiguring existing hosts to inform them
of the new machine.
Chap. 5- Net2 54
Network Layer In ARP
The Internet
ARP
The Address Resolution Protocol (ARP) is a protocol that allows hosts to dynamically map
Internet addresses to physical addresses:
1. The requesting machine only needs to know the target machine's IP address.
2. It sends out a special ARP request frame using the Ethernet's broadcast capability.
Thus, every machine on the LAN will receive the ARP request.
3. The ARP request asks `what is the Ethernet address of Internet address A.B.C.D'?
4. Each machine receives a copy of the broadcast message, and the machine having
the desired IP address responds with its Ethernet address.
Of course, a machine doesn't send out an ARP packet each time it wishes to send an IP
datagram.
Instead, each machine maintains a cache of recently used mappings, and an ARP request
is only sent if the desired mapping is not already in the cache.
Chap. 5- Net2 55
Network Layer In ARP
The Internet
ARP request packets also contain the sender's IP and Ethernet address
pair.
• This eliminates the need for a second ARP request.
DLL
Chap. 5- Net2 56
Network Layer In ARP
The Internet
Solution:
Upon receipt of an ARP request from a machine whose IP address is already in the local
ARP cache, update the information for that entry.
• This handles the case of a machine whose Ethernet address changes; ARP entries with
the old value will be overwritten with the new value.
For a target on a remote network, it's a bit more complicated. Broadcasts don't cross
routers. So, the requester, seeing that a request is remote, essentially needs to hand it
off to a router to handle further.
From a layering point of view, ARP sits below IP, but above the data link layer. Transport
TCP/UDP
IP
ARP
DLL
Chap. 5- Net2 57
Network Layer In ARP
The Internet
ARP Details
Conceptually, ARP consists of two parts: the software responsible for finding the physical
address of an IP address (e.g., a client), and the software responsible for answering
ARP requests from other machines (e.g., a server).
When sending an IP datagram, the sender searches its local ARP cache for the desired
target address. If found, ARP is done.
If not found, send out a broadcast ARP request and wait for the response.
In practice, waiting for a response is somewhat tricky, because the target machine may be
down, the request might become lost and need to be retransmitted, and so forth.
Chap. 5- Net2 58
Network Layer In ARP
The Internet
ARP packets have been designed in a general way so that the protocol can be used over many different
network technologies. ARP packets have the following format:
1. The 2-byte Hardware-Type field gives the type of the hardware address we are interested in
(e.g., 1 for Ethernet).
2. The 2-byte Protocol-Type field gives the type of the higher level protocol address we are
interested in (e.g., 0x0800 for IP). Note, it is two bytes long, just like the Ethernet type field.
3. A 1-byte Hardware-Length field specifying the length of the hardware address (6 bytes would be
the length for Ethernet).
4. A 1-byte Protocol-Length field specifying the length of the target protocol address (4 for IP).
5. A 16-bit Operation Code field specifying the operation desired (e.g., REQUEST or RESPONSE).
But how do I find my own IP address? The protocol that maps hardware addresses to Internet
addresses is called Reverse ARP, or RARP.
Necessary when a diskless machine first boots. It doesn't know its own IP address (and can't read it
from a local disk!). The booting client contacts a server to obtain its Internet address.
1. The client communicates with a server by using a special protocol that requires only Ethernet
frames. In essence it says "My ethernet address is aa.bb.cc.dd.ee.ff. Does anyone know my IP
address?"
2. The broadcast goes to all nodes, including the RARP server. The RARP server maintains a
database of physical address to Internet address mappings.
Chap. 5- Net2 60
Network Layer In DHCP
The Internet
DHCP: Dynamic Host Configuration Protocol (RFC 1531)
Used to match workstations with an IP address. This address can be changed every
time the machine boots. Allows configuration flexibility.
Chap. 5- Net2 61
Network Layer In Gateway Protocol
The Internet
AS - Autonomous System:
A routing protocol that's run between ASs. The `glue' that ties autonomous systems together. It:
1. Allows a site to advertise to the rest of the world a path to the networks within its autonomous
system.
2. Allows sites to learn about networks located in other autonomous regions.
Chap. 5- Net2 62
Network Layer In Interior Gateway Protocol - OSPF
The Internet
OSPF – Open Shortest Path First
Becoming the primary IGP. Allows an addressing hierarchy and thus makes routing easier.
2. Had to support a number of "distance" metrics, including physical length, delay, capacity, etc.
4. Had to support "type of service" - able to change routing behavior based on frame characteristics.
5. Had to do load balancing; able to use multiple routes rather than one at a time.
6. Had to support hierarchical systems so that no one router needed to understand the entire flat
network.
Chap. 5- Net2 63
Network Layer In Interior Gateway Protocol - OSPF
The Internet
OSPF supports three kinds of networks:
Chap. 5- Net2 64
Network Layer In Interior Gateway Protocol - OSPF
The Internet
As OSPF is defined (continued), it:
5. Supports type of service routing. It provides for multiple paths, with gateways choosing
paths based on the type of service field in IP headers.
7. Includes integrated support for subnetting. Specifically, (network number, network mask)
pairs are distributed in updates.
Chap. 5- Net2 66
Network Layer In Exterior Gateway Protocol - BGP
The Internet
BORDER GATEWAY PROTOCOL (BGP)
Distance vector protocol, but not only does it account for distance, but also for specific route
criteria.
BGP can take into account politics, security and economic issues.
Chap. 5- Net2 67
Network Layer In IPv6
The Internet
Motivation:
1. We will run out of Class B addresses soon (within years).
2. The entire address space of 32 bits will eventually be exhausted. Although 32 bits is 4 billion
nodes, hierarchical routing doesn't distribute addresses evenly.
3. We simply don't know how to scale routing beyond a few tens of thousands of networks. Thus,
increasing the size of IP addresses solves problems 1 and 2, but doesn't help with the scaling
problem.
This is an engineering problem in the sense that distributing routing updates, computing new routing
tables, and holding all routes in memory uses processor and memory resources.
We can do that for 10,000 networks, maybe even 100,000, but not 1,000,000. Finding the right balance
between these costs is difficult.
Need for more addresses provides an opportunity to improve upon other aspects of current IP (IPv4).
Look at header in Figure 5.56 , and address space use in Figure 5.57 on the next page.
Chap. 5- Net2 68
Network Layer In IPv6
The Internet
Chap. 5- Net2 69
Examples
TCP/IP Routing
IP Routing
140.192.10.1 140.192.100.1
00C0C1AA3411 00C0C1AA3412
Router
140.192.201.1 140.192.34.1
00C0C1AA3410 00C0C1AA3413
Chap. 5- Net2 70
Examples
TCP/IP Routing
140.192.10.5 140.192.10.25 140.192.100.34 140.192.100.8
0060CA23BE45 0060CA34CD29 0060CA4AD2EE 0060CAAABBCC
140.192.10.1 140.192.100.1
00C0C1AA3411 00C0C1AA3412
Router
140.192.201.1 140.192.34.1
00C0C1AA3410 00C0C1AA3413
Layer 2
Layer 3 P. DA P. SA Data
Layer 2
140.192.10.1 140.192.100.1
00C0C1AA3411 00C0C1AA3412
Router
140.192.201.1 140.192.34.1
00C0C1AA3410 00C0C1AA3413
In s id e th e r o u te r th e L a y e r 2 h e a d e r s a n d tr a ile r s a r e r e m o v e d le a v in g o n ly th e
la y e r 3 p a c k e t.
T h e r o u t e r lo o k s u p t h e p a c k e t 's D A in t h e r o u t in g t a b le a n d f o r w a r d s t o t h e
a p p r o p r ia te in te r fa c e .
1 4 0 .1 9 2 .1 0 .5 1 4 0 .1 9 2 .3 4 .3 4 D a ta
A t th e in te r fa c e , la y e r 2 h e a d e r s a n d tr a ile r s a r e a d d e d b a c k .
D A is th e a d d r e s s o f th e d e s tin a tio n h o s t.
S A is th e a d d r e s s o f th e ro u te r.
F C S is r e c a lc u la te d .
Chap. 5- Net2 72
Examples
TCP/IP Routing
140.192.10.5 140.192.10.25 140.192.100.34 140.192.100.8
0060CA23BE45 0060CA34CD29 0060CA4AD2EE 0060CAAABBCC
140.192.10.1 140.192.100.1
00C0C1AA3411 00C0C1AA3412
Network.Host Layer 2
140.192.10.5 0060CA23BE45
140.192.100.34 0060CA4AD2EE
Layer 2 <--> Layer 3 Table
140.192.100.8 0060CAAABBCC Routing Table
Network Interface
140.192.201.22 0060CA3499CC
140.192.10.0 0
140.192.201.126 0060CA3499DE
140.192.100.0 1
140.192.34.34 0060CA114499
140.192.201.0 2
140.192.34.35 0060CA7819AA
140.192.34.0 3
Chap. 5- Net2 73
Network Layer In Some Useful Tools
The Internet
Netstat - tells you about the connections you have open on your machine.
Ping - tells you how long it takes to get to a destination (and if there is a
route to that destination.
Arp - gives information about the routing table.
Finger - tells you who is logged on.
ftp - gets you data from a remote site.
Route - tells you information about the routing tables.
Netsh – lots of niffty data.
Telnet – allows you to log on to a remote host.
Tracert – Find the paths to remote sites. A useful site is www.traceroute.org
F R3 Z
128.32.4.0
.3 .17
128.32.2.0
.13 .6 .14
.5
R1 D R2 E
.1 .2 128.32.1.0
A B C
Chap. 5- Net2 75
Network Layer In An Example Network
The Internet
Table 1: Ethernet addresses, by IP address.
IP Address Ethernet Address Alias IP Address Ethernet Address Alias
.
128.32.1.1
128.32.1.2
08:00:20:21:77:b2
00:a0:c9:2a:1f:69
EA-1
EA-2
128.32.2.14
128.32.2.17
08:00:09:24:a4:11
08:00:20:7e:82:91
EA-9
EA-10
128.32.1.10 00:a0:c9:2a:1f:53 EA-3 128.32.3.7 08:00:20:1a:df:ff EA-11
128.32.1.11 00:a0:c9:2a:1e:d8 EA-4 128.32.3.8 08:00:20:1b:52:7d EA-12
128.32.1.12 00:60:8c:36:b2:7f EA-5 128.32.3.15 08:00:20:0b:2a:8b EA-13
128.32.2.3 00:60:8c:52:d0:00 EA-6 128.32.3.16 08:00:20:7e:d3:27 EA-14
128.32.2.6 08:00:20:81:b9:d0 EA-7 128.32.4.4 08:00:07:46:29:4c EA-15
128.32.2.13 08:00:20:23:79:ee EA-8 128.32.4.5 08:00:07:17:9b:7d EA-16
Table 2: Routing Tables for Selected Nodes
Router or Host Destination Next Hop
A: 128.32.1.10 128.32.1.0 direct, Ethernet, port 1
default (R1) 128.32.1.1
R1: 128.32.1.1 128.32.1.0 direct, Ethernet, port 1
or 128.32.4.5 128.32.4.0 direct, Ethernet, port 2
128.32.2.0 (R4) 128.32.4.4
128.32.3.0 (R4) 128.32.4.4
R2: 128.32.1.2 128.32.1.0 direct, Ethernet, port 1
or 128.32.2.6 128.32.2.0 direct, Ethernet, port 2
128.32.3.0 (R3) 128.32.2.3
128.32.4.0 (R1) 128.32.1.1
R3: 128.32.2.3 128.32.2.0 direct, Ethernet, port 1
or 128.32.3.7 128.32.3.0 direct, Ethernet, port 2
128.32.1.0 (R3) 128.32.2.6
128.32.4.0 (R4) 128.32.3.8
R4: 128.32.4.4 128.32.4.0 direct, Ethernet, port 1
or 128.32.3.8 128.32.3.0 direct, Ethernet, port 2
128.32.1.0 (R1) 128.32.4.5
128.32.2.0 (R3) 128.32.3.7
Z: 128.32.2.17 128.32.2.0 direct, Ethernet, port 1
default (R2)128.32.2.6
Chap. 5- Net2 76