Transcript Chapter

第二章
TCP/IP协议栈
© 1999, Cisco Systems, Inc.
8-1
本章目标
通过本章的学习,您应该掌握以下内容:
• 掌握TCP/IP分层模型
• 掌握TCP三次握手过程
• 理解OSI和TCP/IP模型的区别和联系
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-2
TCP/IP介绍
主机
主机
Internet
TCP/IP
TCP/IP最初由美国国防部开发,主要由于军事和科研,
后来推广到民用,直至今天,成为全球范围内Internet
联网的标准。
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-3
TCP/IP 协议族
7
应用层
6
表示层
5
会话层
4
传输层
主机到主机层
3
3
网络层
Internet层
2
2
数据链路层
网络接入层
1
1
应用层
4
物理层
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-4
应用层概述
应用层
主机到主机层
Internet层
网络接入层
© 1999, Cisco Systems, Inc.
文件传输
- TFTP *
- FTP *
- NFS
E-Mail
- SMTP
远程登陆
- Telnet *
- rlogin *
网络管理
- SNMP *
名称管理
- DNS*
* 路由器使用
www.cisco.com
ICND—8-5
主机到主机层概述
应用层
主机到主机层
Transmission Control
Protocol (TCP)
面向连接
User Datagram
Protocol (UDP)
非面向连接
Internet层
网络接入层
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-6
TCP、UDP的区别
Transmission Control
Protocol (TCP)
面向连接
User Datagram
Protocol (UDP)
非面向连接
TCP为应用层提供面向连接的、可靠的数据传输服务,UDP为
应用层提供无连接、尽力而为的数据传输服务;
TCP可靠传输机制是通过顺序号和确认来实现;TCP的连接管理
是通过TCP PDU中flag field(6bits)中的SYS、RST、FIN来实
现。
TCP有流量控制机制,通过动态改变接受窗口大小来实现,
UDP无流量控制机制。
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-7
TCP 数据格式
Bit 0
Bit 15 Bit 16
Bit 31
Destination port (16)
Source port (16)
Sequence number (32)
Acknowledgement number (32)
Header
length (4)
Reserved (6) Code bits (6)
Checksum (16)
20
Bytes
Window (16)
Urgent (16)
Options (0 or 32 if any)
Data (varies)
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-8
端口号
应用层
F
T
P
T
E
L
N
E
T
S
M
T
P
D
N
S
T
F
T
P
S
N
M
P
R
I
P
21
23
25
53
69
161
520
传输层
UDP
TCP
© 1999, Cisco Systems, Inc.
端口号
www.cisco.com
ICND—8-9
TCP 端口号
源端口
目标端口
…
Telnet Z
Host Z
Host A
© 1999, Cisco Systems, Inc.
SP
DP
1028
23
目标端口 = 23.
…
www.cisco.com
ICND—8-10
TCP 三次握手
Host A
1
Host B
发送 SYN
(seq=100 ctl=SYN)
© 1999, Cisco Systems, Inc.
接收 SYN
www.cisco.com
ICND—8-11
TCP 三次握手
Host A
1
Host B
发送 SYN
(seq=100 ctl=SYN)
接收 SYN
2
发送 SYN, ACK
(seq=300 ack=101 ctl=syn,ack)
接收 SYN
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-12
TCP 三次握手
Host A
1
Host B
发送 SYN
(seq=100 ctl=syn)
接收 SYN
2
发送 SYN, ACK
(seq=300 ack=101 ctl=syn,ack)
接收 SYN
3
建立会话
(seq=101 ack=301 ctl=ack)
TCP连接建立
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-13
TCP 顺序号和确认号
源端口
目标端口
顺序号
#
确认号
#
…
我发送 #10.
Source Dest. Seq. Ack.
1028
23
© 1999, Cisco Systems, Inc.
10
1
www.cisco.com
ICND—8-14
TCP 顺序号和确认号
源端口
目标端口
顺序号
#
确认号
#
…
我发送 #10.
我已收到 #10,
现在我需要 #11.
Source Dest. Seq. Ack.
1028
23
10
1
Source Dest. Seq. Ack.
23
1028
1
11
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-15
TCP 顺序号和确认号
源端口
目标端口
顺序号
#
确认号
#
…
我发送 #10.
我已收到 #10,
现在我需要 #11.
Source Dest. Seq. Ack.
1028
23
10
1
Source Dest. Seq. Ack.
23
1028
1
11
Source Dest. Seq. Ack.
1028
23
© 1999, Cisco Systems, Inc.
11
2
www.cisco.com
ICND—8-16
TCP 顺序号和确认号
源端口
目标端口
顺序号
#
确认号
#
…
我发送 #11
我已收到 #11,
现在我需要 #12.
Source Dest. Seq. Ack.
1028
23
10
1
Source Dest. Seq. Ack.
23
1028
1
11
Source Dest. Seq. Ack.
1028
23
11
2
Source Dest. Seq. Ack.
23
1028
2
12
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-17
TCP 窗 口
发送方
© 1999, Cisco Systems, Inc.
接收方
www.cisco.com
ICND—8-18
TCP 窗 口
发送方
Window size = 3
Send 1
接收方
Window size = 3
Send 2
Window size = 3
Send 3
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-19
TCP 窗 口
发送方
Window size = 3
Send 1
接收方
Window size = 3
Send 2
Window size = 3
Send 3
© 1999, Cisco Systems, Inc.
ACK 3
Window size = 2 数据 3 被丢弃
www.cisco.com
ICND—8-20
TCP 窗 口
发送方
Window size = 3
Send 1
接收方
Window size = 3
Send 2
Window size = 3
Send 3
ACK 3
Window size = 2 数据 3 被丢弃
Window size = 3
Send 3
Window size = 3
Send 4
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-21
TCP 窗 口
发送方
Window size = 3
Send 1
接收方
Window size = 3
Send 2
Window size = 3
Send 3
ACK 3
Window size = 2 数据 3 被丢弃
Window size = 2
Send 3
Window size = 2
Send 4
ACK 5
Window size = 2
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-22
UDP 数据格式
Bit
1 0
Bit 15 Bit 16
Bit 31
Destination port (16)
Source port (16)
Length (16)
8
Bytes
Checksum (16)
Data (if any)
没有顺序号和确认号
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-23
Internet 层概述
Internet Protocol (IP)
应用层
主机到主机层
Internet Control Message
Protocol (ICMP)
Internet层
Address Resolution
Protocol (ARP)
网络接入层
Reverse Address
Resolution Protocol (RARP)
OSI 网络层对应的是TCP/IP的internet层
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-24
IP 数据
Bit
1 0
Bit 15 Bit 16
Version Header Priority & Type
(4)
Length (4) of Service (8)
Total Length (16)
Flags
(3)
Identification (16)
Time to live (8)
Bit 31
Protocol (8)
Fragment offset (13)
Header checksum (16)
20
Bytes
Source IP Address (32)
Destination IP Address (32)
Options (0 or 32 if any)
Data (varies if any)
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-25
协议域
Transport
Layer
UDP
TCP
6
Internet
Layer
17
Protocol
Numbers
IP
决定上层协议
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-26
ICMP协议
Application
Destination
Unreachable
Transport
1
ICMP
Echo (Ping)
Internet
Other
Network
Access
ICMP允许主机或路由器报告差错情况或提供有关异常情况的报告。
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-27
地址解析协议 ARP 和
逆地址解析协议 RARP
IP 地址
物理地址
© 1999, Cisco Systems, Inc.
ARP
RARP
www.cisco.com
物理地址
IP 地址
ICND—8-28
ARP协议
我需要知道
176.16.3.2的物理
地址.
172.16.3.1
172.16.3.2
IP: 172.16.3.2 = ???
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-29
ARP协议
我需要知道
172.16.3.2的物理
地址.
我知道你的请求,这是我
的物理地址
172.16.3.1
172.16.3.2
IP: 172.16.3.2 = ???
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-30
ARP协议
我需要知道
176.16.3.2的物理
地址.
我知道你的请求,这是我
的物理地址
172.16.3.1
172.16.3.2
IP: 172.16.3.2 = ???
IP: 172.16.3.2
Ethernet: 0800.0020.1111
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-31
ARP协议
我需要知道
176.16.3.2的物理
地址.
我知道你的请求,这是我
的物理地址
172.16.3.1
172.16.3.2
IP: 172.16.3.2 = ???
IP: 172.16.3.2
Ethernet: 0800.0020.1111
映射 IP
© 1999, Cisco Systems, Inc.
Ethernet
Local ARP
www.cisco.com
ICND—8-32
应当注意的问题
ARP 是解决同一个局域网上的主机或路由器的
IP 地址和硬件地址的映射问题。
如果所要找的主机和源主机不在同一个局域网
上,那么就要通过 ARP 找到一个位于本局域网
上的某个路由器的硬件地址,然后把分组发送
给这个路由器,让这个路由器把分组转发给下
一个网络。剩下的工作就由下一个网络来做。
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-33
应当注意的问题(续)
从IP地址到硬件地址的解析是自动进行的,主
机的用户对这种地址解析过程是不知道的。
只要主机或路由器要和本网络上的另一个已知
IP 地址的主机或路由器进行通信,ARP 协议
就会自动地将该 IP 地址解析为链路层所需要
的硬件地址。
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-34
使用 ARP 的四种典型情况
发送方是主机,要把IP数据报发送到本网络上的另一个
主机。这时用 ARP 找到目的主机的硬件地址。
发送方是主机,要把 IP 数据报发送到另一个网络上的
一个主机。这时用 ARP 找到本网络上的一个路由器的
硬件地址。剩下的工作由这个路由器来完成。
发送方是路由器,要把 IP 数据报转发到本网络上的一
个主机。这时用 ARP 找到目的主机的硬件地址。
发送方是路由器,要把 IP 数据报转发到另一个网络上
的一个主机。这时用 ARP 找到本网络上的一个路由器
的硬件地址。剩下的工作由这个路由器来完成。
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-35
本章总结
通过本章的学习,您应该掌握以下内容:
• 掌握TCP/IP分层模型
• 掌握三次握手过程
• 理解OSI和TCP/IP模型的区别和联系
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-36
问题回顾
1. OSI和TCP/IP层次模型的区别
2. TCP/IP的优点
3. ARP和RARP各用在什么场合
© 1999, Cisco Systems, Inc.
www.cisco.com
ICND—8-37