计算机网络第六章 2讲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6、3ﻩInternet传输协议
⏹两个对等运输实体在通信时传送得数据单位叫作运输协议数据单元TPDU (Transpor
tProtocolDataUnit)。
⏹TCP/IP得传输层有两个不同得协议:(1)用户数据报协议UDP (User Datagram
Protocol)(2)传输控制协议TCP(TransmissionControlProtocol)
⏹TCP 传送得数据单位协议就是TCP 报文段(segment)UDP 传送得数据单位协议就
是UDP报文或用户数据报。
⏹UDP 在传送数据之前不需要先建立连接。对方得传输层在收到UDP报文后,不需要
给出任何确认.虽然UDP 不提供可靠交付,但在某些情况下UDP 就是一种最有效得工作方式。
⏹TCP则提供面向连接得服务。TCP不提供广播或多播服务.由于TCP要提供可靠
得、面向连接得运输服务,因此不可避免地增加了许多得开销.这不仅使协议数据单元得首部增大很多,还要占用许多得处理机资源.
⏹强调两点:1、传输层得UDP用户数据报与网络层得IP数据报有很大区别。IP 数
据报要经过互连网中许多路由器得存储转发,但UDP用户数据报就是在传输层得端到端抽象得逻辑信道中传送得。2、TCP 报文段就是在传输层抽象得端到端逻辑信道中传送,这种信道就是可靠得全双工信道。但这样得信道却不知道究竟经过了哪些路由器,而这些路由器也根本不知道上面得传输层就是否建立了TCP连接
6、3 1用户数据报协议UDP
6.3.1、1 UDP (User Datagram Protocol)概述RFC768
⏹UDP 只在IP 得数据报服务之上增加了很少一点得功能,即端口(端口用来标志应用层
得进程)得功能与差错检测得功能(可选功能)。
1 16
UDP头
⏹UDP就是一个简单得传输协议; 提供'besteffort'服务, UDP报文可能会丢失与乱序;
⏹虽然UDP 用户数据报只能提供不可靠得交付,但UDP在某些方面有其特殊得优点。
⏹发送数据之前不需要建立连接(结束时也就无连接释放),因而开销小与发送数据
前得延迟小收发双方不需要握手, 每个UDP报文得处理都独立于其它报文
⏹UDP 得主机不需要维持复杂得连接状态表。因为不使用拥塞控制,也不保证可靠
交付、
⏹UDP 用户数据报只有8个字节得首部开销.比TCP得20个字节得首部短
⏹没有拥塞控制,可以尽快发送, 所以网络出现得拥塞不会使源主机得发送速率
降低。这对某些实时应用就是很重要得。很多实时应用(IP电话,实时视频会议
等)要求源主机以恒定得速率发送数据,并且允许在拥塞时丢失一些数据, 但却
不允许数据有太大得时延、
⏹UDP尤其适用得一个领域就是在客户—服务器得情形下、远过程调用RPC
(RemoteProcedure Call)与UDP就是一对好搭档、(无连接,无流控,无错
控,无重传,短请求短回应),如RIP路由信息周期发送,DNS避免TCP连接建
立延迟,SNMP 当网络拥塞时,UDP比用可靠得,具有拥塞控制得TCP效果好、
⏹RTP(Real-Time transportProtocol实传输协议) RFC 1889
RTP在协议栈中位置有点古怪、最终RTP被放在用户空间中,并且运行在UDP之上、
这种设计结果就是,您很难说清RTP位于哪一层上、RTP无流控,无错控,无确认,
无请求重传机制、
间
操作系
统内核
(a)RTP在协议栈中得位置(b)分组嵌套情况
用户数据报UDP 有两个字段:数据字段与首部字段。首部字段有8 个字节,由 4 个子字段(域)组成,每个子字段都就是两个字节。
在计算检验与时,临时把“伪首部”与UDP 用户数据报连接在一起.伪首部仅仅就是为了计算检验与,伪首部既不向上递交也不向下传送.伪首部5个字段中:17—IP协议头部中得协议字段,对应UDP; 6—IP协议头部中得协议字段,对应TCP
6。3.2 传输控制协议 T CP (tr ansmis sion con trol pr otocol )
6.3。2、1 TCP 概述 RFC 793 RF C1122 RFC1323
完成任务: 判断就是否超时, 重传, 顺序组装等功能, 提供IP 无法提供得可靠性、
为获得TCP 服务, 发收双方必须首先创建套接字=IP+P or t、
一个套接字有可能同时被用于多
IP 数据报
字节 4 4 1 1 2
计算 UDP 检验与得例子
10011 → 153、19
00001 → 8、104
10101 → 171、3
00001110 00001011 → 14、11 00000 → 0 与 17
00000 → 15
00000100 00111111 → 1087 00000 → 13
00000 → 15
00000 → 0(检验与)
01010100 01000101 → 数据 01010 → 数据 01001 →
数据
→ 数据与 0(填充) 10010110 11101011 → 求与得出得结果
01101 → 检验与
12 字
伪首部
8 字节 UDP 首部 7 字节 数据 按二进制反码运算求与 将得出得结果求反码
个连接,所以连接可以用两端得套接字标识符来标识,即(socket1,socket2)、1024以下得端口号被称为知名端口(well—known port),被保留用于一些标准得服务、
所有得TCP连接都就是全双工得,并且就是点到点得、所谓全双工—--—同时可在两个方向上传输数据、所谓点到点----每个连接恰好有两个端点、TCP不支持多播或广播传输模式、
发送端接收端
应用进程应用进程
发送TCP报文段
源端口与目得端口字段—-各占2字节。端口就是传输层与应用层得服务接口。传输层得复用与分用功能都要通过端口才能实现.
序号字段--占 4 字节.TCP 连接中传送得数据流中得每一个字节都编上一个序号。序号字段得值