Slideshare.net (beta)

 

All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 0 (more)

第3讲 Tcpip协议栈

From Flyb, 1 year ago

740 views  |  0 comments  |  0 favorites  |  37 downloads
 

Tags

ccna

 
 

Groups / Events

 

 
Embed
options

More Info

This slideshow is Public
Total Views: 740
on Slideshare: 740
from embeds: 0

Slideshow transcript

Slide 1: 第三讲 TCP/ IP 协议

Slide 2: 介绍 TCP/IP 主机 主机 Internet TCP/IP 优点:发展历史悠久、通用性好,一个成熟的商业化操作系统都支持 TCP/IP 协议。 (如: Unix 、 Linux 、 Windows ),否则它在市场上就无法销售。

Slide 3: TCP/IP 协议栈 7 应用层 6 表示层 应用层 5 会话层 4 主机到主机层 传输层 3 Internet Network 2 数据链路层 网络接入层 1 物理层

Slide 4: 应用层 Overview 文件传输 - TFTP * - FTP * E-Mail 应用层 - SMTP 远程登陆 - Telnet * 网络管理 主机到主机层 - SNMP * 名称管理 Internet - DNS* 网络接入层

Slide 5: 主机到主机层 Overview 面向连接、可靠 Transmission Control 的 应用层 Protocol (TCP) 传输控制协议 主机到主机层 User Datagram 无连接,不可靠 Protocol (UDP) 用户数据报协议 的 Internet 网络接入层

Slide 6: TCP 传输控制协议 •面向连接的 – 先建立连接,后传数据 – 通过三次握手建立连接 电话 •可靠的 – 发送数据后,必须等待确认后才继续发送 – 等不到确认,会重传数据

Slide 7: TCP 段格式 Bit 0 Bit 15 Bit 16 Bit 31 目标端口 (16) 原端口号 (16) 发送请求序列号 (32) 应答序列号 (32) 20 Bytes (标识请求还是应答) 头部长 保留位 (6) 代码位 (6) 窗口 (16) 度 (4) 校验码 (16) Urgent(16) (附加选项一般只用到 20 个字节左右) 附加选项 (0 or 32 ) 数据

Slide 8: 端口号 • 传输层主要是形成两端的收发进程的对应关系,对应关系必须由端口号来 标识。 如:服务端发送一个应用过去,收的一端必须有一个对应的应用接收。 所以端口号就有一个标识即源端口号、目地端口号。源端口号表示 • 从什么地方发的;目地端口号表示对方的接收进程号。 端口号的编排方法( RFC 规定) • TCP/IP 协议中应用层大多数为 Client / Server 模式 Server 端要求凡 <=255 的必须特别申请,因被预留给了特别著名的应用 。 凡在 256—1024 服务器的端口号被预留给了特别 著名的厂商 或具有影响力的应用程序。 所以 1024 之前的端口号必须向 Internet 标准组织申请, 1024 之后可使用 。 任何一个 Server 端对应的 Client 端一般都用 1024 以后(随机数)。

Slide 9: 端口号 R F T D S T S 应用层 I T E N M F N P P L S T T M N P P P E 传数据 T 20 传输控制 端口号 520 21 23 25 53 69 161 传输层 UDP TCP 基于 TCP 协议的 基于 UDP 协

Slide 10: TCP 端口号 原端口 目标端口 … Telnet Z 主机 Z 主机 A 原端口 目标端口 目标端口 = 23. 1028 23 … 发送包到我的 Telnet 的应用

Slide 11: TCP 三次握手 主机 A 主机 B 发送同步请求 1 (seq=100 ctl=SYN) SYN 的接收

Slide 12: TCP 三次握手连接 主机 A 主机 B 发送同步请求 1 (seq=100 ctl=SYN) SYN 的接收 2 发送请求和应答 SYN 的接收 (seq=300 ack=101 ctl=syn,ack)

Slide 13: TCP 三次握手连接 Host A Host B 发送请求 1 (seq=100 ctl=SYN) SYN 的接收 2 发送请求和应答 SYN 的接收 (seq=300 ack=101 ctl=syn,ack) 连接建立 3 (seq=101 ack=301 ctl=ack)

Slide 14: TCP 简单的确认 发送方 接收方 窗口值 = 1

Slide 15: TCP 简单的确认 发送方 接收方 发送 1 接收 1 窗口值 = 1

Slide 16: TCP 简单的确认 发送方 接收方 发送 1 接收 1 发送确认 2 接收确认 2 窗口值 = 1

Slide 17: TCP 简单的确认 发送方 接收方 发送 1 接收 1 发送确认 2 接收确认 2 发送 2 接收 2 窗口值 = 1

Slide 18: TCP 简单的确认 发送方 接收方 发送 1 接收 1 发送确认 2 接收确认 2 发送 2 接收 2 发送确认 3 接收确认 3 窗口值 = 1

Slide 19: TCP 简单的确认 发送方 接收方 发送 1 接收 1 发送确认 2 接收确认 2 发送 2 接收 2 发送确认 3 接受确认 3 发送 3 接收 3 窗口值 = 1

Slide 20: TCP 简单的确认 发送方 接收方 发送 1 接受 1 发送确认 2 接受确认 2 发送 2 接收 2 发送确认 3 接收确认 3 发送 3 接收 3 发送 4 接收确认 4 窗口值 = 1

Slide 21: TCP 请求和应答号 源端口号 目标端 同步请求 确认应答 … 口号 # # 我正好 发送第 #10. Source Dest. Seq. Ack. 1028 23 10 1

Slide 22: TCP 请求和应答号 源端口号 目标端 同步请求 确认应答 … 口号 # # 我正好 发送第 #10. 我正好要 #10, 现在需要 #11. Source Dest. Seq. Ack. Source Dest. Seq. Ack. 1028 23 10 1 23 1028 1 11

Slide 23: TCP 请求和应答号 源端口号 目标端 同步请求 确认应答 … 口号 # # 我正好 发送第 #10. 我正好要 #10, 现在需要 #11. Source Dest. Seq. Ack. Source Dest. Seq. Ack. Source Dest. Seq. Ack. 1028 23 10 1 23 1028 1 11 1028 23 11 2

Slide 24: TCP 请求和应答号 源端口号 目标端 同步请求 确认应答 … 口号 # # 我正好 发送第 #10. 我正好要 #10, 现在需要 #11. Source Dest. Seq. Ack. Source Dest. Seq. Ack. Source Dest. Seq. Ack. 1028 23 10 1 23 1028 1 11 Source Dest. Seq. Ack. 1028 23 11 2 23 1028 2 12

Slide 25: TCP Windowing 发送方 接收方

Slide 26: TCP Windowing Window size = 3 发送方 接收方 Send 1 Window size = 3 Send 2 Window size = 3 Send 3

Slide 27: TCP Windowing Window size = 3 发送方 接收方 Send 1 Window size = 3 Send 2 Window size = 3 Send 3 ACK 3 Window size = 2 第 3 个包丢了

Slide 28: TCP Windowing 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

Slide 29: TCP Windowing 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 ACK 5 Window size = 2

Slide 30: UDP 用户数据报协议 •无连接 – 发送数据之前不需要建立连接 – 直接发送 传呼,短信 •不可靠 – 没有发送确认 – 没有重传机制(由上层协议控制纠错重传) •Segment 尺寸小,发送速度快

Slide 31: UDP 段的格式 Bit 0 1 Bit 15 Bit 16 Bit 31 目标端口 (16) 源端口 (16) 8 Bytes 长度 (16) 校验码 (16) 数据 不需要连接、应答、三次握手,只需要两边的应用有对应的 关系(端口号)和长度标识与校验(只做头部校验) 所以 UDP 一般用于报文信息(通知状态的好坏,数据量小 、效率高)

Slide 32: TCP 段格式 Bit 0 Bit 15 Bit 16 Bit 31 目标端口 (16) 原端口号 (16) 发送请求序列号 (32) 应答序列号 (32) 20 Bytes (标识请求还是应答) 头部长 保留位 (6) 代码位 (6) 窗口 (16) 度 (4) 校验码 (16) Urgent(16) (附加选项一般只用到 20 个字节左右) 附加选项 (0 or 32 ) 数据

Slide 33: 网络层 ( IP ) Overview Internet Protocol (IP) 网际协议 应用层 Internet Control Message Protocol (ICMP) 控制消息协议 传输层 Address Resolution Internet Protocol (ARP) 地址解析协议 数据链路层 Reverse Address 反向地址解析 物理层 Resolution Protocol (RARP) TCP/IP internet 层对应 OSI 网络层

Slide 34: IP 层的主要协议 •IP 协议 -----Internet Protocol – 控制数据的转发 •ICMP 协议 ----Internet 控制消息协议 – 测试网络连通性的协议,返回目的不可到达、 Echo 、超时等消息 – Ping , Trceroute •ARP 协议 ---- 地址解析协议 •RARP 协议 ---- 反向地址解析协议

Slide 35: IP 数据包格式 Bit 0 1 Bit 15 Bit 16 Bit 31 包头长度 版本 优先及或 头部长度 (4) IP 包长度 (16) 服务类型 (8) (4) 规定最大 已拆分的数量 拆分部分标识 (16) 包 值是否要 Fragment offset (13) 拆分 (3) 头 20 存活时间 TTL (8) 协议 (8) 头部校验位 (16) Bytes 源 IP 地址 (32) 目标 IP 地址 (32) 附加选项 数据

Slide 36: 协议范围 传输层 UDP TCP 协议号 6 17 网络层 IP

Slide 37: Internet 控制消息协议 ICMP 是 IP 协议中的一种协议,不是用于传 应用层 数据而是用于传递 IP 网络层的一些控制、查 询诊断、错误信息,维护用。 传输层 不可达目标 主要分为两类:查询与报错信息 1 Echo request :查询与对端通与不通, 显示输出 (Ping) ICMP 目标如果是按照标准的 TCP/IP 协议一定会按 源地址返回一个 echo reply 的信息 其他 Internet 如 Ping 、 tracert 就是利用 echo request 与 echo reply 数据链路层 报错用的如 Destination Unreachable 目标主机不可达(不在同一网段) 目标网络不可达(路由器没此路由) 物理层 目标协议不可达(防火墙或策略不允许此协议通过) 如:一个 Router 把一个包发送到某个目的地 ,但路由表中无此去向的路由,它将此包将 路由器中出现 …… .. 表示 time out 丢掉,之后报一个错误(错误信息按照源包 uuuuu 表示对端有 ICMP 设备返回信息不可 的源地址作为抱错的目的地址返回错误信息 达 ——目标不可达) 有时 PC 机没有设网关跨网段 Ping ,出现目标主机不可达是 自己的 ICMP 协议栈向你报告对端主机不可达

Slide 38: ARP 协议 我需要知道 176.16.3.2 的物理 地址 . 172.16.3.1 172.16.3.2 IP: 172.16.3.2 = ???

Slide 39: ARP 协议 我需要知道 我知道你的请求,这是我 176.16.3.2 的物理 的物理地址 地址 . 172.16.3.1 172.16.3.2 IP: 172.16.3.2 = ???

Slide 40: 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

Slide 41: 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 Ethernet Local ARP

Slide 42: RARP 协议 我的地址 是多少? Ethernet: 0800.0020.1111 IP = ???

Slide 43: RARP 协议 我听到了广播 你的地址是 我的地址 172.16.3.25. 是多少? Ethernet: 0800.0020.1111 IP = ???

Slide 44: RARP 协议 我听到了广播 你的地址是 我的地址 172.16.3.25. 是多少? Ethernet: 0800.0020.1111 IP = ??? Ethernet: 0800.0020.1111 IP: 172.16.3.25

Slide 45: RARP 协议 我听到了广播 你的地址是 我的地址 172.16.3.25. 是多少? Ethernet: 0800.0020.1111 IP = ??? Ethernet: 0800.0020.1111 IP: 172.16.3.25 映射 Ethernet IP

Slide 46: Ping 命令 Ping 用于确定网络的连通性。命令格式: Ping 主机名 Ping 域名 Ping IP 地址

Slide 47: Ping 命令 一般情况下,用户可以通过使用一系列 Ping 命令来查找问题出在什么地 方,或检验网络运行的情况。典型的检测次序及对应的可能故障: ① ping 127.0.0.1 如果测试成功,表明网卡、 TCP/IP 协议的安装、 IP 地址、子网掩码的设置 正常。如果测试不成功,就表示 TCP/IP 的安装或运行存在某些最基本的问题。 ② ping 本机 IP 如果测试不成功,则表示本地配置或安装存在问题,应当对网络设备和通 讯介质进行测试、检查并排除。

Slide 48: Ping 命令 ③ ping 局域网内其他 IP 如果测试成功,表明本地网络中的网卡和载体运 行正确。但如果收到 0 个回送应答,那么表示子网掩 码不正确或网卡配置错误或电缆系统有问题。 ④ ping 网关 IP 这个命令如果应答正确,表示局域网中的网关路 由器正在运行并能够做出应答。 ⑤ ping 远程 IP 如果收到正确应答,表示成功的使用了缺省网关 。对于拨号上网用户则表示能够成功的访问 Internet 。

Slide 49: Ping 命令 如果上面所列出的所有 Ping 命令都能正常运行,那么计算机进行 本地和远程通信基本上就没有问题了。但是,这些命令的成功并不表示 你所有的网络配置都没有问题,例如,某些子网掩码错误就可能无法用 这些方法检测到。 Ping 命令的常用参数选项 ping IP -t :连续对 IP 地址执行 Ping 命令,直到被用户以 Ctrl+C 中断。 ping IP -l 2000 :指定 Ping 命令中的数据长度为 2000 字节,而不是缺省 的 32 字节。 ping IP -n :执行特定次数的 Ping 命令。

Slide 50: traceroute 命令 这个命令主要用来显示数据包到达目的主机所经过的路径。通过执行一个 traceroute 到对方主机的命令之后,结果返回数据包到达目的主机前所经历的路 径详细信息,并显示到达每个路径所消耗的时间。 这个命令同 ping 命令类似,但它所看到的信息要比 ping 命令详细得多, 它能反馈显示送出的到某一站点的请求数据包所走的全部路径,以及通过该路由 的 IP 地址,通过该 IP 的时间是多少。 traceroute 命令还可以用来查看网络在连接站点时经过的步骤或采取哪种 路线,如果是网络出现故障,就可以通过这条命令来查看是在哪儿出现问题的。 例如可以运行 tuaceroute 10.1.1.1 ,就将看到网络在经过几个连接之后所到达 的目的地,也就知道网络连接所经历的过程。图给出了 traceroute 命令的一个 实例。 如果输出为“ *” ,则说明转发分组失败 Traceroute 的默认最大 TTL = 30

Slide 51: traceroute 命令 图 Tracert 命令