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