Title: Chapter 5: Network and Transport Layers
1Chapter 5 Network and Transport Layers
2Outlines
- Network Protocols and TCP/IP
- Networking Addressing
- Routing
- Network flow control and QoS
3Network Protocols and TCP/IP
4Transmission Control Protocol/ Internet Protocol
(TCP/IP)
- The Transmission Control Protocol/ Internet
Protocol (TCP/IP) was developed for the U.S. Dept
of Defenses Advanced Research Project Agency
Network (ARPANET) in 1974. - TCP/IP allows reasonable efficient and error-free
transmission.
5TCP/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.
6TCP/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.
7TCP 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
8IP 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
9History 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
10Why 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
11Other 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-Ts standard for WAN. Mature standard. Seldom
used in north America. - System Network Architecture (SNA)
- IBM developed SNA in 1974. It is used on IBMs
mainframes. It is hard to integrate SNA with
other networks.
12The Message Field Size
- Maximum Ethernet packet size 1492
- TCP message field
- 1492 - 24 (TCP header) - 24 (IPv4 header) 1444
13Addressing
14Types of addresses
Address Example Software Example
Address Application Layer Web browser ike.ba.ttu
.edu (also called domain name) Network
Layer TCP/IP 129.118.49.189 Data Link
Layer Ethernet 00-A0-C9-96-1D-90
15Addressing
- 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.
16Assigning 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.
17Assigning 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
129.118.49.189 at the network layer.)
18How 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.
19IP Address Allocation
IANA
InterNIC America
RIPE Europe
APNIC Asia
National
Regional
Consumer
20Three RIRs
- American Registry for Internet Numbers (ARIN)
- Reseaux IP Europeen (RIPE)
- Asia Pacific Network Information Centre (APNIC)
21Internet 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.
22Internet 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.
23Internet 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 B
Class A
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
24Internet 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
25Internet 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?
26Subnets
- 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
27Gateway
146.7.11.1
128.192.254.2
28Subnet 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 129.118.49.189
- Subnet mask 255.255.255.0
- IP address 129.118.49.x is for the
computers in the same subnet
29Subnet
- Subnet with partial bytes addresses.
- E.g. 129.118.49.1 to 129.118.49.126
- Subnet mask 255.255.255.128
- Subnet address 129.118.49.0
- Subnet broadcast address 129.118.49.127
30Subnet
IP address 129.118.49.111 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 129.118.51.254 1000
0001.0111 0110.0011 0011.0110 1111 Destination
IP 128.83.127.1 1000 0000.0101 0011.0111
1111.0000 0001
31Subnet Mask Template
Broadcast Address
150.1.0.0
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 IDClass B
128
Mask Numbers
Possible Subnet Address
32Dynamic 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.
33Dynamic 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)
34Dynamic 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.
35Address 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.
36Server 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.
37Domain Name System
- 32-bit IP addresses have two drawbacks
- Routers cant keep track of every network path
- Users cant 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)
38DNS 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
39Server 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.
40Data 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.
41Data 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
42Routing
43(No Transcript)
44Routing
- 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
45Routing
46Routing Table for Computer B
- Destination Route
- A A
- C C
- D A
- E E
- F E
- G C
47Static 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.
48Dynamic 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.
49Dynamic 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.
50Dynamic 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.
51Dynamic routing
- Border Gateway Protocol (BGP)
- A dynamic routing protocol used on the Internet
to exchange routing information between
autonomous systems the large sections of the
Internet. It is seldom used inside companies - Large, complex and hard to administer
52Dynamic Routing
- Internet Control Message Protocol (ICMP)
- Uses both broadcast messages and the messages to
specific computers to exchange routing
information - Only used by TPC/IP
53Dynamic Routing
- Open Shortest Path First (OSPF)
- More efficient than RIP because it normally
doesnt use broadcast messages. Instead it
selectively sends status update messages directly
to selected computers - Used by TCP/IP
54Dynamic routing
- Enhanced Interior Gateway Routing Protocol
(EIGRP) - A dynamic link state interior routing protocol
developed by CISCO - Commonly used inside an organization
- Computers/routers store their own routing table
and their neighbors routing tables
55Dynamic Routing
- Two drawbacks to Dynamic Routing.
- It requires more processing by each computer in
the network than centralized or static routing. - The transmission of status information wastes
network capacity.
56Connectionless vs. Connection-Oriented Routing
- Two ways a group of packets can be routed
- Connectionless routing
- Each packet is treated separately and makes its
own way through the network. - Connection-Oriented routing
- Sets up a virtual circuit between the sender and
receiver. Appears to use point-to-point
circuit-switching, but actually uses
store-and-forward. - Has greater overhead than connectionless, due to
the routing information.
57Connectionless vs. Connection-Oriented Routing
- Virtual Circuit
- Appears to the application software to use a
point-to-point circuit - The network layer makes one routing decision and
all packets follow the same route
58Connectionless vs. Connection-Oriented Routing
- TCP/IP vs. UPD/IP
- TCP/IP is used for connection-oriented routing
- TCP establishes the virtual circuit and IP routes
the messages. - UDP/IP is used for connectionless routing
- The TCP packet is replaced with a User Datagram
Protocol (UDP) packet.
59Multicast
- Unicasting
- The usual transmission between two computers.
- Broadcasting
- Sending messages to all computers on a LAN or
subnet. - Multicasting
- Sending the same message to a group of computers
temporarily in a class D IP address.
60Broadcast
Individual transfers
Clients
Host
61Multicast
Could be one packet that all receive
or replicated by routers in the network
Data replicated by the network
Clients
Host
Multicast Infrastructure
One transfer
62Multicast
- Computers wishing to participate in a multicast
send a message to the sending computer or some
other computer performing routing along the way
using a special type of TCP-level packet called
Internet Group Management Protocol (IGMP). - Each multicast group is temporarily assigned a
special Class D IP address to identify the group,
thus allowing a restricted broadcast of messages
to this specific group.
63TCP/IP
TELNET FTP SMTP DNS SNMP
DHCP
Application Presentation Session
RIP
RTP RTCP
Transmission Control Protocol
User Datagram Protocol
Transport
OSPF
ICMP
IGMP
Internet Protocol
Network
ARP
Data link Physical
Ethernet
Token Bus
Token Ring
FDDI
64Flow control and QoS
65Quality of Service
- Quality of Service (QoS)
- The idea that transmission quality (rates, error
rates, bandwidth and jitter) can be measured,
improved, and, to some extent, guaranteed in
advance. - QoS routing
- A special type of connection-oriented dynamic
routing in which different messages or packets
are assigned different priorities.
66Categories of Traffic
- Elastic traffic, such as FTP, email, etc
- Allow fluctuating bandwidth, the total
transmission time is important - The data must correctly transmitted
- Service quality concerns mainly in transmission
delay and error control. - Real-time traffic, such as videoconferencing.
- Demands certain bandwidth with isochronous
features - Tolerates some level of errors.
- Service quality criteria include Throughput,
Delay, Delay variation (jitter), and Packet loss.
67Routing at Routers
- Bandwidth schedule
- First in first out
- Round robin
- Prioritization
- Queue management
- Packet discard policy
- Congestion control
Packet arrival
Packet forward
Packet Drop
68Network Congestion
- What is traffic congestion?
- The buffer in a forwarding device overflows. This
results packet losses and incur retransmission.
The transmission will worsen the situation. - Network congestion control is very important in
flow management
69Internet Flow Control
- Internet flow control algorithm
- Slow start, congestion avoidance
- Router queue management
- Random early detection (RED) for packet dropping
- Data flow scheduling
- FIFO, round robin, priority queueing, weighted
fair queueing
70Internet Flow Control
- Slow Start algorithm (RFC2001). To avoid router
running out of space - Two windows advertised window by receiver and
congestion window by sender. The congestion
window is flow control imposed by the sender,
while the advertised window is flow control
imposed by the receiver. - The congestion window is initialized to one
segment. Each time an ACK is received, the
congestion window is increased by one segment.
The sender can transmit up to the minimum of the
congestion window and the advertised window. - The sender starts by transmitting one segment and
waiting for its ACK. When that ACK is received,
the congestion window is incremented from one to
two, and two segments can be sent. - When each of those two segments is acknowledged,
the congestion window is increased to four. This
provides an exponential growth. - At some point the capacity of the internet can be
reached, and an intermediate router will start
discarding packets. This tells the sender that
its congestion window has gotten too large.
71Internet Flow Control
- Congestion Avoidance (RFC2001)
- Sets congestion window to one segment.
- When congestion occurs (indicated by a timeout or
the reception of duplicate ACKs), one-half of the
current window size (the minimum of congestion
window and the receiver's advertised window, but
at least two segments) is saved as X. - When new data is acknowledged by the other end,
increase congestion window, but the way it
increases depends on whether TCP is performing
slow start or congestion avoidance. If congestion
window is less than or equal to X, TCP is in slow
start otherwise TCP is performing congestion
avoidance. - Slow start continues until TCP is halfway to
where it was when congestion occurred (since it
recorded half of the window size that caused the
problem in step 2), and then congestion avoidance
takes over. - Congestion avoidance dictates that congestion
window be incremented a linear growth of
congestion window, compared to slow start's
exponential growth.
72Internet transmission services
- Best-effort services
- The Internet treats all packet equally.
- Integrated services (IntServ)
- IntServ refers to mechanisms that enable users to
request a particular QoS for a flow of data. - Differentiated Services (DiffServ)
- DiffServ Use type-of-service in IPv4 header to
indicate the required service quality.
73Integrated Services
- Routers require additional functionality to
handle QoS-based service - IETF is developing suite of standards to support
this - Two standards have received widespread support
- Integrated Services Architecture (ISA) To enable
the provision of QoS support over IP-based
Internet. - Resource ReSerVation Protocol (RSVP)
74Integrated Services Architecture
- Enables provision of QoS over IP-networks
- Features include
- Admission Control A new flow needs a reservation
for QoS - Routing Algorithm more parameters are considered
other than just delay - Queuing Discipline Queuing policy takes into
account of different requirements - Discard Policy Particularly for congestion
management
75Resource Reservation Protocol (RSVP)
- A tool for prevention of congestion through
reservation of network resources - Can be used in unicast or multicast transmissions
- Receivers (not senders) initiate resource
reservations - Operation
- Complexity is in multicast transmission
- RSVP uses two basic messages Resv and Path. In
multicast, Resv messages generated by one of the
multicast group receivers propagate upstream
through distribution tree and create soft state
in routers. Once it reaches the sender, hosts are
enabled to set parameters for the first hop. Path
is used to provide upstream routing information
and sent from senders via the down stream tree to
all receivers
76Differentiated Services (DiffServ)
- Provides QoS based on user group needs rather
than traffic flows - Can use current IPv4 octets
- Service-Level Agreements (SLA) govern DiffServ,
eliminating need for application-based assignment
77IPv4 Type of Service Field
- Allows user to provide guidance on individual
datagrams - 3-bit precedence subfield
- Indicates degree of urgency or priority
- Queue Service Congestion Control
- 4-bit TOS subfield
- Provides guidance on selecting next hop
- Route selection, Network Service, Queuing
Discipline
1
2
3
4
5
6
7
0
Precedence
TOS
0
78DiffServ Domains
Border component
Host
Host
Interior component
79DiffServ Operation
- Routers are either boundary nodes or interior
nodes - Interior nodes use per-hop behavior (PHB) rules
- Boundary nodes have PHB traffic conditioning
80Token Bucket Scheme
Max Burstiness RT B
R Token replenishment rate B Bucket size
81TCP/IP Configuration Information
- At least four pieces of information needed for a
client computer TCP/IP configuration - IP address
- Subnet mask
- Gateway IP address
- Domain name Server IP address
82A TCP/IP Example
83A TCP/IP Example
- How a client access a web server in the same
subnet with a known address? - How a client access a web server in a different
subnet with a known address? - How a client access a web server in the same
subnet with an unknown address?
84Sender
Receiver
Application Layer
Application Layer
HTTP
Request
HTTP
Request
Transport Layer
Transport Layer
HTTP
TCP
Request
HTTP
TCP
Request
Network Layer
Network Layer
HTTP
TCP
IP
Request
HTTP
TCP
IP
Request
Data Link Layer
Data Link Layer
HTTP
TCP
IP
Ethernet
Request
HTTP
TCP
IP
Ethernet
Request
Physical Layer
Physical Layer
85Data transmission using TCP/IP and Ethernet
Ethernet packet header
IP packet
TCP packet
HTTP packet
User Data
Ethernet packet trailer
IP address
Data link layer address