运输层
2017-12-08 21:02:48 25 举报
AI智能生成
计算机网络运输层
作者其他创作
大纲/内容
进程间的通信
运输层提供进程间端到端的逻辑通信
端口
服务器端使用
熟知端口号/系统端口号
登记端口号/注册端口号
客户端使用
短暂端口号
无需申请
UDP
特点
无连接
尽最大努力交付
面向报文
发送的报文长度是应用进程给出的
无拥塞控制
支持一对一、一对多、多对多交互通信
首部开销小
UDP数据报
格式
首部(8字节)
伪首部(不算首部)
源IP地址(4字节)
目的IP地址(4字节)
全是0(1字节)
协议字段值(1字节)
UDP长度(2字节)
源端口(2字节)
目的端口(2字节)
长度(2字节)
检验和(2字节)
数据部分
TCP
特点
(1)面向连接
(2)每一条TCP连接只能有两个端点,点对点
(3)可靠交付
(4)全双工通信
(5)面向字节流
根据应用进程对方给出的窗口值和当前网络拥塞程度决定一个报文应包含多少字节
首部格式(20字节固定)
确认ACK
=1
确认号字段才有效
同步SYN
=1
表示这是一个连接请求或连接接受报文
同步SYN
=1
表示这是一个连接请求或连接接受报文
终止FIN
=1
此报文段的发送方数据已发送完毕,要求释放连接
为什么要规定最大报文长度MSS?
(1)若选择较小MSS长度,网络利用率下降
(2)若非常长,则需要分成多个数据片,最后还要装配成原数据报,开销大
(3)MSS尽可能大,只要在IP层传输不需要分片就行
可靠传输实现
以字节为单位的滑动窗口
发送缓存
(1)允许发送但尚未发送
(2)TCP已发送但尚未收到确认数据
接收缓存
(1)按序到达的、但尚未被接收应用程序读取的数据
(2)未按序到达的数据
流量控制
滑动窗口
发送方的窗口不能超过接收方给出的接收窗口数值
持续计时器
任一方收到零窗口通知即开启,持续设置时间,则发送零窗口探测报文以打破死锁
传输效率
概念:速率匹配,让发送方发送速率不要太快,接收方来得及接收
拥塞控制
拥塞
对网络中某一资源的需求大于网络所能供应的量
原理
开环控制
设计网络时将会产生拥塞的因素考虑清楚,力求网络工作时不产生拥塞
闭环控制
给予反馈回路
(1)监测网络以便监测到拥塞在何时何处发生
(2)把拥塞信息传送到可处理的地方
(3)调整网络系统的运行来解决出现的问题
方法
(1)慢开始
当主机开始发送数据时,有小到大逐渐增大发送窗口值,每次加倍增长
(2)拥塞避免
发送窗口缓慢增长
(3)快重传
接收方每次接收报文时,之前有报文没有接收到,则需重复确认没收到,若发送方收到三个重复确认,则重发
(4)快恢复
将发送窗口缩小一半,执行拥塞避免算法
运输连接管理
连接建立
三个问题
(1)要是每一方能够知道对方的存在
(2)循序双方协商一些参数
(3)能够对运输实体资源进行分配
三报文握手
(1)客户端:SYN=1,seq=x
(2)服务器:SYN=1,ACK=1,seq=y,ack=x+1
(3)客户端:SYN=1,ACK=1,seq=x+1,ack=y+1,且可携带数据
连接释放
四报文握手
(1)客户端主动关闭:FIN=1,seq=u
(2)服务器:ACK=1,seq=v,ack=u+1
(3)服务器被动关闭:FIN=1,ACK=1,seq=w,ack=u+1
(4)客户端:ACK=1,seq=u+1,ack=w+1
等待2MSL时间,关闭
网络层为主机之间提供逻辑通信
0 条评论
下一页