第5章 常用的网络协议栈
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2014-4-7
12/45
TCP的四次断开
Host A Host B
1
发送 FIN,请求断开连接 (seq=101 ,ack=301, ctl=FIN,ACK)
发送 ACK (seq=301,ack=102 ctl=ACK)
2
4
2014-4-7
发送ACK (seq=102,ack=302 ctl=ACK)
端口
69 53 123 111
协议
TFTP DNS NTP RPC 简单文件传输协议 域名服务 网络时间协议 远程过程调用
说明
2014-4-7
16/45
UDP的流控和差错控制
UDP没有流控机制 UDP只有校验和来提供差错控制 需要上层协议来提供差错控制:例如TFTP协 议
Host A Host B
ARP Cache
10.1.1.1
Internet Adress 10.1.1.2
10.1.1.2
Physical Adress 0800.0020.1111
Type
Dynamic
10.1.1.3
2014-4-7
10.1.1.4
22/45
ICMP协议
ICMP位于TCP/IP模型互联网层的IP协议和TCP协议之 间, ICMP消息通过IP数据报传送,它不提供错误控制 服务,被用来发送错误和控制信息。 ICMP常用于诊断 实用程序中,如ping命令和TRACERT命令。 ICMP定义了很多信息类型,例如:
2014-4-7 8/45
20 字 节
传输层的作用
IP层提供点到点的连接 传输层提供端到端的连接
传输层:找到 IP 层:找到了 了应用进程 这台主机!
2014-4-7
9/45
传输层的协议
TCP(Transmission Control Protocol) 传输控制协议 可靠的、面向连接的协议 传输效率低 UDP(User Datagram Protocol) 用户数据报协议 不可靠的、无连接的服务 传输效率高
构建中小型企业局域网
第 5 章 常用的网络协议栈
2014-4-7
1/45
上章回顾
二进制与十进制、十六进制的转换 IP地址的格式、组成及分类 专网(私有)IP地址和公网(公共)IP地址 子网和子网掩码 路由器的工作原理 可变长度子网掩码( VLSM )及其计算 无类域间路由 缺省网关
2014-4-7 10/45
TCP的封装格式
0
15 16
31
源端口号
目标端口号
目标端接收进 发送TCP进程 对应的端口号 程的端口号 32位确认号 0 ~ 232-1范围内,数据 4位 U A P R S F 段标记,用于到目的端对 0 ~ 232-1范围内,对发 保留 首部长(6位) R C S S Y I 16位窗口大小 到达包的重组 送端的确认信息,告诉发送 度 G K H T N N 端这个序号之前的数据段都 收到了 滑动窗口的大小, 紧急指针有效位,与 16 位校验和 16 位紧急指针 确认序列号有 为1时,数据发 指明本地可接收数 通知接收端立即将数 为1为 时,请求重 1时,请求建 16位紧急指针配合 送完毕,请求断 效位,表明该 可选项 据的字节数 据提交给用户进程, 立连接 新建立 TCP连接 使用数据包包含确 开连接 不在缓存中停留,等 数据 认信息 待更多的数据
2014-4-7 25/45
Ping命令的参数3-1
-t :一直ping,直到手动关闭(^C)为止
2014-4-7
26/45
Ping命令的参数3-2
-a :显示对方的主机名
2014-4-7
27/45
Ping命令的参数3-3
-l 字节数:发送指定大小的ping包
2014-4-7
28/45
2014-4-7 4/45
TCP/IP模型与OSI模型
OSI 7层模型 TCP/IP 4层模型
应用层 表示层 会话层 传输层 网络层 数据链路层 物理层
2014-4-7
应用层
传输层 互联网层
网络接口 层
5/45
TCP/IP核心协议——IP
TCP和IP是TCP/IP协议群中最重要的核心协议。 网际协议(IP)属于TCP/IP模型和互联网层, 提供关于数据应如何传输以及传输到何处的信息。 数据帧的IP部分被称为一个IP数据报,IP数据 报包含了路由器在子网中传输数据所必需的信息。 IP数据报包括报头和数据,总长度不能超过 65535字节。
发送 FIN,请求断开连接 (seq=301,ack=102 3 ctl=FIN,ACK)
13/45
TCP支持的应用层协议
端口
21 23 25 53 80
协议
FTP Telnet SMTP DNS HTTP
说明
文件传输协议,用于上传、下载 用于远程登录,通过连接目标计算机的这一端口,得到验证后 可以远程控制管理目标计算机 简单邮件传输协议,用于发送邮件 域名服务,当用户输入网站的名称后,由DNS负责将它解析成 IP地址,这个过程中用到的端口号是53 超文本传输协议,通过HTTP实现网络上超文本的传输
TFTP协议提供分 块传输、分块确认 的机制,保证数据 传输的可靠性
2014-4-7 17/45
地址解析协议ARP
ARP是一个互联网层协议,它获取主机或节点 的MAC地址(物理地址)并创建一个本地数据 库以将MAC地址映射到主机IP(逻辑)地址上。 ARP协议与IP协议紧密协作,因为IP在指导发 送数据到目标主机之前必须具有目标主机的地址。 为使ARP更加有效,计算机在一个缓冲区保存已 经知道的IP-MAC地址映射表,这样就无需广播 冗余请求。 arp /a
2014-4-7 30/45
IPX/SPX核心协议
IPX/SPX的核心协议提供了OSI模型中传输层和 网络层的服务。 IPX(网际包交换)协议,类似于TCP/IP协议群 中的IP协议,作用于OSI模型的网络层,提供路 由和网际服务。如同IP协议,IPX协议也使用数 据报传输数据。在发送数据前,由于不要求建立 一个会话,IPX协议是一种无连接的服务,它将 不保证数据是否将以有序或无错的形式发送。总 之,它是一种功能有限但高效的子协议。
2014-4-7 2/45
本章内容
IP、TCP、UDP协议的编址方案 TCP的封装和工作原理 UDP的封装和工作原理 常用的TCP和UDP端口号 使用Sniffer进行协议分析
2014-4-7
3/45
传输控制协议/网际协议(TCP/IP)
TCP/IP不是一个简单的协议,而是一组小的、专业化协 议,包括TCP、IP、UDP、ARP、ICMP以及其他的一 些被称为子协议的协议。 TCP/IP是因特网标准,也是局域网的首选协议。许多网 络操作系统使用TCP/IP为缺省协议。 TCP/IP最大的优势之一是其可路由性,也就意味着它可 以携带被路由器解释的网络编址信息。 TCP/IP还具有灵活性,可在多个网络操作系统(NOS)或 网络介质的联合系统中运行。然而由于它的灵活性, TCP/IP需要更多的配置。 能够跨越多个局域网段的协议被称为可路由协议。由于 其携带了网络层信息和编址信息,这些信息可由路由器 理解。然而,并不是所有的协议都是可路由的。
2014-4-7 11/45
32位序列号
TCP的连接-三次握手
Host A Host B
1
发送 SYN ,请求建立连接 (seq=100 ctl=SYN)
2 发送 SYN 、ACK (seq=300 ack=101 ctl=SYN、ACK)
3
发送ACK (seq=101 ack=301 ctl=ACK)
TCP/IP协议栈
应用层 会话层
表示层 传输层 根据端口号提交给 相应的应用程序 网络层 FTP Telnet SMTP HTTP TFTP
TCP
UDP
数据链路层
2014-4-7
根据链路类型选择不 同的协议,对上层透 明 根据协议号选择应 该提交给TCP还是 UDP PPP
IP Frame Relay
2014-4-7 18/45
ARP协议4-1
IP地址解析为MAC地址 主机10.1.1.1想发送数据给主机10.1.1.2,检 查缓存,发现没有10.1.1.2的MAC地址
10.1.1.1
ARP Cache
Internet Adress Physical Adress Type
10.1.1.2
2014-4-7
6/45
网络层的功能
定义了基于IP协议的逻辑地址 连接不同的媒介类型 选择数据通过网络的最佳路径 IP协议是一种不可靠的、无连接的协议,即意味着它不 保证数据的可靠传输。然而,TCP/IP协议群中更高层协 议可使用IP信息确保数据包按正确的地址进行传输。注 意到IP数据报并不包含一个校验和部件,报头校验和仅 仅验证IP报头中路由信息的完整性。如果当数据包被接 收时伴随信息的校验和值不正确,则数据包将被认为已 破坏并被抛弃,同时,一个新的数据包被发送。
Ethernet
29/45
IPX/SPX
IPX/SPX(网际包交换/序列包交换)最初是由 Xerox开发的一种协议,在20世纪80年代由 Novell进行修改并应用于它的NetWare网络操 作系统。 其他的网络操作系统,如Windows 2003和工 作站操作系统如Windows xp,也能使用 IPX/SPX协议与Novell NetWare系统进行网际 互联。 IPX/SPX是驻留在OSI模型不同层的协议组合。 IPX/SPX携带网络编址信息,因而它是可路由 的。
所有主机都接收到10.1.1.1 ARP 广播,但只有 我的的 MAC 地址是 0800.0020.1111 10.1.1.2给它一个单播回复,并缓存 10.1.1.1的MAC地 址
10.1.1.1
10.1.1.2
10.1.1.3
2014-4-7
10.1.1.4
21/45
ARP协议4-4
IP地址解析为MAC地址 主机10.1.1.1将10.1.1.2的MAC地址保存到 缓存中,发送数据
10.1.1.3
2014-4-7
10.1.1.4
19/45
ARP协议4-2
IP地址解析为MAC地址 主机10.1.1.1发送ARP广播
我需要 10.1.1.2 的MAC地址 10.1.1.2
10.1.1.1
10.1.1.3
2014-4-7
10.1.1.4
20/45
ARP协议4-3
IP地址解析为MAC地址
2014-4-7 7/45
IP包头的格式
版本(4) 首部长度 优先级与服务类型 (4) (8) 总长度(16) 标志 标识符(16) 段偏移量(13) 版本字段, IPv4 (3) IP 包头部长度,优先级与服务类 IP数据总长度 因为长度可变, 型,提供3层的 TTL(8) 因此需要定义 协议号(8 ) 首部校验和(16) QoS 上层来的数据到IP层会被分段,这几 个字段用来对数据包进行标识,使在 源地址(32) 生命周期字段,经过一个 数据到达目的端重组的时候,不会乱 路由器值减1,为协议字段,用来标识封 0时,数 序 装的上层数据是 UDP 还 据包丢弃。为了防止一个 目标地址( 32) 是TCP,UDP是17, 数据包在网络中无限的循 TCP是6 环下去。 可选项 数据
目的地不可达 TTL 超时 信息请求 信息应答 地址请求 地址应答
23/45
2014-4-7பைடு நூலகம்
ICMP协议的应用2-1
ICMP检测双向通路的连通性 Ping命令使用ICMP协议
Ping [-t] [-a] [-l 字节数] Ip_Address|Target_name
2014-4-7
14/45
UDP的封装格式
0 15 16 31
16位源端口号 16位UDP长度
发送端的UDP进程端 口号 数据 包含数据的长度,可 以算出数据的结束位 置
16位目标端口号 16位UDP校验和
接收端的UDP进程端 口号 UDP的差错控制 (可选)
2014-4-7
15/45
UDP的使用
2014-4-7
24/45
ICMP协议的应用2-2
在一台计算机上向远程主机发起ping连接时, 可能收到的返回信息有:
连接建立成功
Reply from 192.168.1.1:bytes=32 time<1ms TTL=128
目标主机不可达 • Destination host unreachable. 请求时间超时 • Request timed out. 未知主机名 • Unknown host abc.