Title: IS 3413
1IS 3413
- Chapter 8
- The Internet and TCP/IP
- Dr. Jan Clark
- SPRING, 2003
2Internet Society
3Basic Assumptions of ARPANET
- Physical network NOT completely reliable
- Network protocols could not be dependent on any
proprietary hardware or software
4OSI vs. TCP/IP
5NOTE!
- TCP/IP was NOT designed specifically with the
layers in mind and DOES NOT fit neatly with the
OSI model. - For EXAMPLE, TCP is considered to lap over both
transport and network layers
6TCP/IP Transport Layer
- Responsible for assuring end-to-end delivery of
data - Primary Protocols
- TCP - Transmission Control Protocol
- UDP - User Datagram Protocol
7Internet Addressing Requirements
- MAC sublayer address (hardware address)
- Network address (IP address)
- Port address (identifies specific application or
process - telnet 23, SMTP 25, HTTP 80, etc)
8Assigning Addresses
- Data link layer (MAC sublayer) address -
uniquely, permanently encoded on the NIC - Network layer (IP) addresses and application
layer addresses go hand in hand. (www.uga.edu
-application means 192.128.98.53 at the network
layer) - Network layer software translates the application
layer address into an address better understood
by the network layer (IP address) - Computers must agree on port numbers before they
can interoperate
9Port Numbers
- Many are pre-assigned - (Table 8.1)
- If not pre-assigned, sender must know port number
of destination host for the required application
(e.g. email, FTP, etc.) - Both source and destination port numbers must be
defined - The Protocol (TCP vs. UDP) used for transmission
is dependent upon the application.
10Network Layer Address
- Internet Protocol (IP) Address
- 4 bytes long (if IPv4), separated by .
- Example 128.192.78.4
11Data Encapsualtion/Decapsulation
12- Complex data communication systems do not use a
single protocol to handle all transmission tasks.
Instead, they rely upon a protocol suite, such
as TCP/IP
13Internet Protocol (IP) Functions (network layer)
- Performs routing and addressing
- Connectionless datagram service
- Unreliable datagram service (packets may not be
delivered) - may arrive out of sequence
- Responsible for routing packets between nodes
- Active at all nodes
- Considered the "glue" that links heterogeneous
networks, giving the illusion of a homogeneous
one - May fragment packet if too large for next network
14Internet Control Message Protocol (ICMP)
- Network layer protocol allows routers to send
error and control messages about packet
processing on IP networks - Reports errors when a packet cannot reach its
destination (I.e. network or destination
unreachable - Reports congestion I.e. buffer full
- Relays troubleshooting information I.e. ping to
check to see if alive - Reports time-outs I.e. when packets
time-to-live counter reaches zero
15UDP - User Datagram Protocol Functions (transport
layer)
- Connectionless datagram service
- Unreliable datagram service
- All data reliability and integrity issues
responsibility of application programs using UDP - Application programs -TFTP, SNMP, DNS
16What is the Difference Between UDP and IP?
- Both are unreliable (packets may not arrive) and
connectionless - Both originally designed for smaller messages
- UDP relies upon IP to transport messages between
networks - UPD header encapsulated in IP datagram
as it travels across an internetwork
17TCP Functions
- Connection-oriented (virtual circuit) Designed
for large applications (e.g. FTP) - Reliable service for end-to-end connection
- Active ONLY at sending and receiving nodes
- Requests for retransmission at destination node
- Assures against duplication
- Stream-oriented flow control, based on virtual
circuit connection - Relies upon IP for packet delivery (same as UDP)
- Sliding window ACK
- Full duplex - concurrent transfers can take place
in both directions
18TCP 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
19TCP Three-Way Handshake
- Method of establishing a TCP connection
- A initiates TCP connection to B by sending sync
bit and initial sequence number - B sends back syn and ACK
- A sends ACK
- Example Netscape
20TCP Three-Way HandshakeEstablish Connection
Node A
Node B
Send SYN (SeqNumX)
Receive SYN X Send SYN (SeqNumY) ACK
(NumX1)
Receive SYN, ACK Send ACK (NumY1)
Receive ACK
21TCP Close Connection
Node A
Node B
Send FIN (SeqNumX)
Receive FIN X Send ACK (SeqNumX1) Inform
Node B application Application responds
Receive ACK
Receive Fin Send ACK (NumY1)
Receive ACK
Send FIN (SeqNumY)
22IPv4 VS IPv6
- IPv4 also has a 192-bit header
- Control information including source and
destination address, packet sequence number,
packet length, error checking information, etc. - IPv6 has a 320-bit header
- Primary difference is increase in address from 32
bits to 128 bits why is this good?
23Internet Address Problems
- Internet is quickly running out of addresses
- Although there are more than 1 billion possible
addresses, they are assigned in groups,
restricting the number of organizations - One of the reasons behind the IPv6, providing 3.2
x 1038 possible addresses
24ICANN
- Internet Corporation for assigning names and
numbers - Assigns network layer (IP addresses) and
application layer addresses or domain names
(www.utsa.edu). - Classes A-C are assigned to organizations
- Sets rules by which new domain names are created
and IP addresses are assigned to users - Authorizes private companies to become domain
name registrars (www.register.com)
25Domain Names
26Domain Name Servers
27Internet Address Classes
- Number of Addresses
- Class Available to User Address
Structure Example - Class A 16 million First byte fixed
50.x.x.x - Organization assigns last three bytes
- Class B 16,000 First two bytes fixed
128.192.x.x - Organization assigns last two bytes
- Class C 250 First three bytes fixed
192.1.56.x - Organization assigns last byte
28Subnets
- IP addresses are usually assigned 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 - Customary to use the last byte of the IP address
to indicate different subnets
29(No Transcript)