More Related Content Similar to 第3讲 Tcpip协议栈 (20) 第3讲 Tcpip协议栈2. 介绍 TCP/IP 主机 Internet TCP/IP 主机 优点:发展历史悠久、通用性好,一个成熟的商业化操作系统都支持 TCP/IP 协议。 (如: Unix 、 Linux 、 Windows ),否则它在市场上就无法销售。 3. TCP/IP 协议栈 7 6 5 4 3 2 应用层 表示层 会话层 传输层 Network 数据链路层 物理层 1 应用层 主机到主机层 Internet 网络接入层 4. 应用层 Overview 应用层 主机到主机层 Internet 网络接入层 文件传输 - TFTP * - FTP * E-Mail - SMTP 远程登陆 - Telnet * 网络管理 - SNMP * 名称管理 - DNS* 5. 主机到主机层 Overview Transmission Control Protocol (TCP) 传输控制协议 User Datagram Protocol (UDP) 用户数据报协议 应用层 主机到主机层 Internet 网络接入层 面向连接、可靠的 无连接,不可靠的 7. TCP 段格式 原端口号 (16) 目标端口 (16) 发送请求序列号 (32) 头部长 度 (4) 应答序列号 (32) 保留位 (6) 代码位 (6) 窗口 (16) 校验码 (16) Urgent(16) 附加选项 (0 or 32 ) 数据 20 Bytes Bit 0 Bit 15 Bit 16 Bit 31 (标识请求还是应答) (附加选项一般只用到 20 个字节左右) 9. 端口号 TCP 端口号 F T P 传输层 T E L N E T D N S S N M P T F T P S M T P UDP 应用层 21 23 25 53 69 161 R I P 520 20 传数据 传输控制 基于 TCP 协议的 基于 UDP 协议的 10. TCP 端口号 原端口 目标端口 … 主机 A 1028 23 … 原端口 目标端口 主机 Z Telnet Z 目标端口 = 23. 发送包到我的 Telnet 的应用 11. TCP 三次握手 发送同步请求 (seq=100 ctl=SYN) SYN 的接收 主机 A 主机 B 1 12. TCP 三次握手连接 发送同步请求 (seq=100 ctl=SYN) SYN 的接收 发送请求和应答 (seq=300 ack=101 ctl=syn,ack) 主机 A 主机 B SYN 的接收 1 2 13. TCP 三次握手连接 发送请求 (seq=100 ctl=SYN) SYN 的接收 发送请求和应答 (seq=300 ack=101 ctl=syn,ack) 连接建立 (seq=101 ack=301 ctl=ack) Host A Host B SYN 的接收 1 2 3 16. TCP 简单的确认 发送方 接收方 发送 1 接收 1 接收确认 2 发送确认 2 窗口值 = 1 17. TCP 简单的确认 发送方 接收方 发送 1 接收 1 接收确认 2 发送确认 2 发送 2 接收 2 窗口值 = 1 18. TCP 简单的确认 发送方 接收方 发送 1 接收 1 接收确认 2 发送确认 2 发送 2 接收 2 接收确认 3 发送确认 3 窗口值 = 1 19. TCP 简单的确认 发送方 接收方 发送 1 接收 1 接收确认 2 发送确认 2 发送 2 接收 2 接受确认 3 发送确认 3 发送 3 接收 3 窗口值 = 1 20. TCP 简单的确认 发送方 接收方 发送 1 接受 1 接受确认 2 发送确认 2 发送 2 接收 2 接收确认 3 发送确认 3 发送 3 接收 3 接收确认 4 发送 4 窗口值 = 1 21. TCP 请求和应答号 源端口号 目标端 口号 … 同步请求 # 确认应答 # Source Dest. Seq. Ack. 1028 23 10 1 我正好 发送第 #10. 22. TCP 请求和应答号 我正好要 #10, 现在需要 #11. 1028 23 Source Dest. 10 Seq. 1 Ack. 1028 23 Source Dest. 11 Seq. 1 Ack. 我正好 发送第 #10. 源端口号 目标端 口号 … 同步请求 # 确认应答 # 23. TCP 请求和应答号 1028 23 Source Dest. 11 Seq. 2 Ack. 1028 23 Source Dest. 10 Seq. 1 Ack. 1028 23 Source Dest. 11 Seq. 1 Ack. 我正好要 #10, 现在需要 #11. 我正好 发送第 #10. 源端口号 目标端 口号 … 同步请求 # 确认应答 # 24. TCP 请求和应答号 1028 23 Source Dest. 11 Seq. 2 Ack. 1028 23 Source Dest. 10 Seq. 1 Ack. 1028 23 Source Dest. 11 Seq. 1 Ack. 1028 23 Source Dest. 12 Seq. 2 Ack. 源端口号 目标端 口号 … 同步请求 # 确认应答 # 我正好要 #10, 现在需要 #11. 我正好 发送第 #10. 27. TCP Windowing Window size = 3 Send 2 Window size = 3 Send 1 Window size = 3 Send 3 ACK 3 Window size = 2 第 3 个包丢了 发送方 接收方 28. TCP Windowing Window size = 3 Send 2 Window size = 3 Send 1 Window size = 3 Send 3 ACK 3 Window size = 2 第 3 个包丢了 Window size = 3 Send 4 Window size = 3 Send 3 发送方 接收方 29. TCP Windowing Window size = 3 Send 2 Window size = 3 Send 1 Window size = 3 Send 3 ACK 3 Window size = 2 Window size = 3 Send 4 Window size = 3 Send 3 ACK 5 Window size = 2 第 3 个包丢了 发送方 接收方 32. TCP 段格式 原端口号 (16) 目标端口 (16) 发送请求序列号 (32) 头部长 度 (4) 应答序列号 (32) 保留位 (6) 代码位 (6) 窗口 (16) 校验码 (16) Urgent(16) 附加选项 (0 or 32 ) 数据 20 Bytes Bit 0 Bit 15 Bit 16 Bit 31 (标识请求还是应答) (附加选项一般只用到 20 个字节左右) 35. IP 数据包格式 版本 (4) 目标 IP 地址 (32) 附加选项 数据 1 Bit 0 Bit 15 Bit 16 Bit 31 头部长度 (4) 优先及或 服务类型 (8) IP 包长度 (16) 拆分部分标识 (16) 规定最大 值是否要 拆分 (3) Fragment offset (13) 存活时间 TTL (8) 协议 (8) 头部校验位 (16) 源 IP 地址 (32) 20 Bytes 包头长度 已拆分的数量 包头 37. Internet 控制消息协议 ICMP 是 IP 协议中的一种协议,不是用于传数据而是用于传递 IP 网络层的一些控制、查询诊断、错误信息,维护用。 主要分为两类:查询与报错信息 Echo request :查询与对端通与不通, 目标如果是按照标准的 TCP/IP 协议一定会按源地址返回一个 echo reply 的信息 如 Ping 、 tracert 就是利用 echo request 与 echo reply 报错用的如 Destination Unreachable 目标主机不可达 (不在同一网段) 目标网络不可达 (路由器没此路由) 目标协议不可达 (防火墙或策略不允许此协议通过) 如:一个 Router 把一个包发送到某个目的地,但路由表中无此去向的路由,它将此包将丢掉,之后报一个错误(错误信息按照源包的源地址作为抱错的目的地址返回错误信息——目标不可达) 路由器中出现 …… .. 表示 time out uuuuu 表示对端有 ICMP 设备返回信息不可达 有时 PC 机没有设网关跨网段 Ping ,出现目标主机不可达是自己的 ICMP 协议栈向你报告对端主机不可达 应用层 传输层 Internet 数据链路层 物理层 不可达目标 显示输出 (Ping) 其他 ICMP 1 39. ARP 协议 172.16.3.1 172.16.3.2 IP: 172.16.3.2 = ??? 我知道你的请求,这是我的物理地址 我需要知道 176.16.3.2 的物理地址 . 40. ARP 协议 172.16.3.1 IP: 172.16.3.2 Ethernet: 0800.0020.1111 172.16.3.2 IP: 172.16.3.2 = ??? 我知道你的请求,这是我的物理地址 我需要知道 176.16.3.2 的物理地址 . 44. RARP 协议 Ethernet: 0800.0020.1111 IP: 172.16.3.25 Ethernet: 0800.0020.1111 IP = ??? 我的地址是多少? 我听到了广播你的地址是 172.16.3.25. Editor's Notes Purpose: This chapter reviews the physical layer and describes how to cable various network devices. Timing: This chapter takes approximately 1 hour to present. Note: This section has a cabling laboratory exercise at the end. Contents: Objectives—This section explains what the student will be able to do at the end of this chapter. TCP/IP Overview—This section describes the TCP/IP protocol stack. TCP/IP Application Layer Overview—This section describes the application protocols. TCP/IP Transport Layer Overview—This section describes TCP and UDP. TCP/IP Internet Layer Overview—This section describes IP and other Internet layer protocols. TCP/IP Address Overview—This section describes IP addressing. Configuring IP Addresses—This section describes how to address an IOS device with IP Interconnecting Networks—This section describes how to interconnect separate VLANs and WANs With TCP/IP. Written Exercise—This section has students work with IP addresses in binary format.