TCPIP协议
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TCPIP简介 RG-NPRD6 9
思考题
• IP层的 层的MTU和以太网物理链路 和以太网物理链路MTU有什么关系? 有什么关系? 层的 和以太网物理链路 有什么关系 • IP MTU的最小值是多少? 的最小值是多少? 的最小值是多少 • 自己选择一个本地地址 (如192.168.9.1),使用 如 使用ping和 使用 和 Tracert诊断一下,使用抓包软件 诊断一下, 诊断一下 使用抓包软件(Sniffer, Packetyzer等) 等 分析这个过程。 分析这个过程。 • 利用 利用windows自带的 自带的ping工具发送出分片的 报文,使用抓 工具发送出分片的IP报文 自带的 工具发送出分片的 报文, 包工具分析报文分片的情况. 包工具分析报文分片的情况
帧
IP头部 头部
UDP头部 应用数据 头部
TCPIP简介 RG-NPRD6 14
UDP数据包格式
UDP头部 头部 应用数据
T C P端口号与U D P端口号是相互独立的。
TCPIP简介 RG-NPRD6 15
校验和的计算
• 伪包头(校验和计算的特殊性)
32bit 源IP地址 地址 宿IP地址 地址 00000000 协议=17 协议 UDP长度 长度
TCPIP简介 RG-NPRD6 8
ICMP协议
• ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。 它是TCP/IP协议族的一个子协议,用于在IP 主机、路由器之间传递控制消息。控制消息是 指网络通不通、主机是否可达、路由是否可用 等网络本身的消息。这些控制消息虽然并不传 输用户数据,但是对于用户数据的传递起着重 要的作用。
TCPIP简介 RG-NPRD6 6
IP协议 协议
• 无连接数据报传送,数据报路由选择和差错控制。IP协议 无连接数据报传送,数据报路由选择和差错控制。 协议 的数据报有报头和数据两部分组成。 的数据报有报头和数据两部分组成。 • 将数据报包装成符合物理网络要求的帧的格式的过程称为 将数据报包装成符合物理网络要求的帧 封装。 封装。 • 不同物理网络对帧大小的限制是不同的,这种限制成为物 不同物理网络对帧大小的限制是不同的 帧大小的限制是不同的, 理网络的最大传输单元( 理网络的最大传输单元(MTU)。 )。 • 目前的Internet主导协议是 协议,IPv4 目前的 主导协议是IP协议, 主导协议是 协议 • 下一代 下一代Internet协议 IPv6。 协议: 协议 。
TCPIP简介 RG-NPRD6 22
首部长度
• 首部长度给出首部中32 bit字的数目。需要这 个值是因为选项字段的长度是可变的。这个字 段占4 bit,因此T C P最多有6 0字节的首部。 没有选项字段时正常的长度是2 0字节。
TCPIP简介 RG-NPRD6 23
6个标志位
• 在T C P首部中有6个标志比特。它们中的多个 可同时被设置为
保留端口举例
应用层
F T P
T E L N E T
23
S M T P
25
H T T P
80
D N S
S N M P
161 Port
21 传输层
53
TCPIP简介 RG-NPRD6 13
UDP数据包的封装 UDP数据包 数据包
应用数据 UDP头部 应用数据 头部
IP头部 头部
UDP头部 应用数据 头部
TCPIP简介 RG-NPRD6 21
确认序列号
• 既然每个传输的字节都被计数,确认序号包含发送确 认的一端所期望收到的下一个序号。因此,确认序号 应当是上次已成功收到数据字节序号加1。只有ACK标 志(下面介绍)为1时确认序号字段才有效 • 发送ACK无需任何代价,因为32 bit的确认序号字段 和ACK标志一样,总是TCP首部的一部分。 • 因此,一旦一个连接建立起来,这个字段总是被设置, ACK标志也总是被设置为1
选项
O p tio n s (0 或 多 个 3 2 b it 字 ) 数 据 D a ta (可 选 )
TCPIP简介 RG-NPRD6 20
序列号
• 序号用来标识从T C P发端向T C P收端发送的数据字 节流,它表示在这个报文段中的的第一个数据字节。序 号是32 bit的无符号数,序号到达23 2-1后又从0开 始。 • TCP P为应用层提供全双工服务。这意味数据能在两个 方向上独立地进行传输。连接的每一端必须保持每个方 向上的传输数据序号.
TCPIP简介 RG-NPRD6 11
协议端口(Protocol port)
• 用16bit区分,共有216个端口(每台主机) • 众所周知端口
– 全局分配,用于标准服务器 – 取值小于1024
• 临时端口
– 本地分配(主机建立连接时为用户进程动态分配的 端口) – 取值大于等于1024
TCPIP简介 RG-NPRD6 12
– – – – – – U R G 紧急指针( urgent pointer) A C K 确认序号有效。 P S H 接收方应该尽快将这个报文段交给应用层。 R S T 重建连接。 S Y N 同步序号用来发起一个连接。 F I N 发端完成发送任务。
TCPIP简介 RG-NPRD6 24
窗口大小
TCPIP简介
TCPIP简介 RG-NPRD6 1
• 目的 熟悉TCP/IP的基础概念,了解TCP/IP协议族 的基本架构和协议构成 • 对象 学校应届毕业新员工 • 时间 1.5小时
TCPIP简介 RG-NPRD6 2
主要内 容
•IP地址和端口 地址和端口 •IP、ICMP、TCP和UDP协议 、 、 和 协议 •可靠的数据传输 可靠的数据传输 •应用层协议简介 应用层协议简介
信息取自IP层报头,计入校验和,用于检错。 信息取自 层报头,计入校验和,用于检错。 层报头
TCPIP简介 RG-NPRD6 16
UDP的特点
• UDP被设计成一个有效的和最小的传输协议。这一点直接反映在 其头结构中。它只包括用于转发数据报至合适应用(端口号)的足 够信息,并且执行一定的错误检查。 • UDP不提供任何TCP支持的更先进的功能。没有计时机制、流控 或拥塞管理机制、应答、紧急数据的加速传送,或其他任何功能。 UDP使用尽力方式传送数据报。由于某种原因传输失败,数据报 被丢弃并且不试图作重传。
发送方
应用层 2k write 应用层 3k write
TCPIP简介 RG-NPRD6 28
TCP的连接
• 三次握手 (three-way handshake)
主机A 主机 (主动 主动) 主动 主机B 主机 (被动 被动) 被动
TCPIP简介 RG-NPRD6 29
TCP传输控制的实现
头部
源端口 1028 宿端口 21 序列号 SEQ 确认号 ACK ... 窗口 WIN ...
• T C P的流量控制由连接的每一端通过声明的窗口大小 来提供。窗口大小为字节数,起始于确认序号字段指 明的值,这个值是接收端正期望接收的字节。窗口大 小是一个16 bit字段,因而窗口大小最大为6 5 5 3 5 字节。 • 接收方通过设置该值大小可调节发送端发送数据的速 度,实现流量控制。
TCPIP简介 RG-NPRD6 25
TCPIP简介 RG-NPRD6 10
UDP协议
• 无连接的服务 • 提供高效率/低可靠性服务 • UDP的简单性使UDP不适合于一些应用,但对另一些 更复杂的、自身提供面向链接功能的应用却很适合。 其他可能使用UDP的情况包括:转发路由表数据交换、 系统信息、网络监控数据等的交换。这些类型的交换 不需要流控、应答、重排序或任何TCP提供的功能。
TCPIP简介 RG-NPRD6 7
IP报文头格式
• •
报头长度不固定, 位为单位。 报头长度不固定,以32位为单位。数据报总长度占 位,包括报头和数据。报头为 字 位为单位 数据报总长度占16位 包括报头和数据。报头为4字 节的整数倍,不足用“ ”来填充。 节的整数倍,不足用“0”来填充。 选项: 选项: 路由选择给出一个从源到目标的IP地址序列 要求数据报严格沿制定的路由表传输。 地址序列, 路由选择给出一个从源到目标的 地址序列,要求数据报严格沿制定的路由表传输。
校验和
• 检验和覆盖了整个的T C P报文段: T C P首 部和T C P数据。这是一个强制性的字段,一 定是由发端计算和存储,并由收端进行验证。 T C P检验和的计算和U D P检验和的计算相 似,需要一个伪首部。
TCPIP简介 RG-NPRD6 26
紧急数据指针
• 只有当U R G标志置1时紧急指针才有效。紧 急指针是一个正的偏移量,和序号字段中的值 相加表示紧急数据最后一个字节的序号。T C P的紧急方式是发送端向另一端发送紧急数据 的一种方式。
头长度 *4 R eserv ed ( 6 b it ) U A P R S F R C S S Y I G K H T N N 窗 口 大 小 W in d o w s iz e (1 6 b it) 紧 急 指 针 U r g e n t P o in t e r ( 1 6 b it )
校 验 和 C h e c k s u m ( 1 6 b it )
TCPIP简介 RG-NPRD6 5
端口
• 端口采用 位端口号来识别,端口对应一个主机上运行的 端口采用16位端口号来识别, 位端口号来识别 应用程序。服务器一般使用公认端口号。 应用程序。服务器一般使用公认端口号。 • 客户端要保证端口在本机上是唯一的。客户端口成为临时 客户端要保证端口在本机上是唯一的。 端口,服务器的服务时刻运行,端口固定一直进行侦听。 端口,服务器的服务时刻运行,端口固定一直进行侦听。 • TCP/IP提供的服务都用公认的 提供的服务都用公认的1~1023,大多数连接是 , 提供的服务都用公认的 分配1024~5000之间。 之间。 分配 之间 • FTP(20,21), ),Telnet(23), ),SMTP(25), ( , ), ( ), ( ), DNS(53), ( ),WWW(80), ( ),POP3(110) ( ) ), ),
TCPIP简介 RG-NPRD6 3
TCP/IP协议图
TCPIP简介 RG-NPRD6 4
IP地址 地址
• 在互联网上每一个接口必须有唯一的 在互联网上每一个接口必须有唯一的Internet地址。 地址。 地址 总长度32位 总长度 位。 一共分为五类: 类 一共分为五类:A类,B类,C类,D类,E类。 类 类 类 类 • 回环地址,缺省路由器地址,本地网络,广播地址 回环地址,缺省路由器地址,本地网络,
Байду номын сангаас
TCPIP简介 RG-NPRD6 27
可选项及填充
• 最常见的可选字段是
– 最长报文大小,建立连接的双方提供的最大长度中 的较小值作为长度,默认536字节。 – 窗口比例调整因子,设定对216的窗口大小进行左 移的位数(因子最大为16,即窗口最大为232) – 设定非Go-back-n的差错重传机制(NAK)。
TCPIP简介 RG-NPRD6 17
练习:在域名解析(DNS)中使用UDP • 使用 Sniffer 软件监控UDP报文并作简单分析
TCPIP简介 RG-NPRD6 18
TCP协议
• TCP/IP最具代表性的协议 • 可靠的面向连接的协议 • TCP将用户数据打包构成报文段;它发送数据后启动一个定时器; 另一端对收到的数据进行确认,对失序的数据重新排序,丢弃重 复数据; TCP提供端到端的流量控制,并计算和验证一个强制性 的端到端检验和。 • 许多流行的应用程序如Telnet、Rlogin、FTP和SMTP都使用 TCP
TCPIP简介 RG-NPRD6 19
TCP数据包格式
源 端 口 S ou rce P ort (1 6 b it) 宿 端 口 D e s tin a tio n P o r t (1 6 b it)
序 列 号 S e q u e n c e N u m b e r (3 2 b it) 确 认 号 A c k n o w le d g m e n t N u m b e r (3 2 b it)