导图社区 计算机网络 第四章 传输层
计算机网络 第四章 传输层:概述、进程通信和端口号、TCP协议、UDP协议、IPv6协议
编辑于2020-05-20 15:15:51传输层
概述
任务
为不同主机上的应用进程提供直接的通信服务
作用
向高层用户屏蔽了下面网络核心的细节
协议
面向连接的TCP
无连接的UDP
进程通信和端口号
进程通信
TCP
UDP
端口号
实现分布式进程通信的问题
进程标识
多重协议识别
数据范围
0-65535之间整数
类型
熟知端口号
0-1023
TCP/UDP给每种标准的Internet服务器进程分配的一个确定的全局端口号
由IANA统一分配
UDP常用
端口号
服务进程
说明
53
DNS
域名服务
67/68
DHCP
动态主机配置协议
69
TFTP
简单文件传送协议
161/162
SNMP
简单网络管理协议
520
RIP
路由信息协议
TCP常用
20
FTP
文件传输协议(数据连接)
21
FTP
文件传输协议(控制连接)
23
TELNET
网络虚拟终端协议
25
SMTP
简单邮件传输协议
80
HTTP
超文本传输协议
179
BGP
边界路由协议
注册端口号
1024-49151
为新开发的网络应用程序再IANA登记一个注册端口号
动态端口号
49152-65535
由TCP/UDP软件随机选取
只对一次进程通信有效
作用
标识本计算机应用层各进程
复用和分用
复用:发送方
分用:接收方
UDP、TCP
TCP协议
特点
支持面向连接的传输服务
支持全双工通信
支持同时建立多个并发的TCP连接
支持可靠的传输服务
支持字节流的传输
仅支持单播
报文段格式
源端口和目的端口
各2字节
序号seq
4字节
本报文所发送数据的第一个字节的序号
确认号ack
4字节
欲收到下一报文的数据的第一字节的序号
数据偏移
4字节
首部长度
保留字段
6字节
置0
紧急URG
URG=1时,此报文优先传送
确认ACK
ACK=1时,确认号字段有效
推送PSH
PSH=1时,尽快交付应用进程,无需等缓存填满
复位RST
RST=1时
TCP连接出错,释放再重新建立连接
拒绝非法TCP报文或拒绝释放一个连接
同步SYN
SYN=1时,表明这是一个连接请求或连接接受报文
终止FIN
FIN=1时,此报文发送端的数据已发送完毕,要求释放运输连接
窗口
2字节
让对方设置发送窗口的依据
检验和
2字节
包括首部和数据
计算时,要在TCP报文钱加12字节的伪首部
紧急指针
16字节
指出本报文种紧急数据共有多少个字节
紧急数据需放在本报文数据的最前面
选项
长度可变,最大40字节
填充
把选项字段填充成4字节的整数倍
连接和释放
连接 三次握手
-> SYN=1,ACK=0,seq=a
<- SYN=1,ACK=1,seq=b,ack=a+1
请求和接受
-> ACK=1,seq=a+1,ack=b+1
对接受的确认
释放 四次握手
-> FIN=1,ACK=1,seq=m,ack=n
请求释放连接
<- ACK=1,seq=n,ack=m+1
同意释放,对请求确认
<- FIN=1,ACK=1,seq=x,ack=m+1
传送剩余数据,对请求确认,并请求释放连接
-> ACK=1,seq=m+1,ack=x+1
同意释放,对请求确认
数据传输和流量控制
选择重传策略
拉回重传
选择重传
传输过程
通过确认重传机制保证数据可靠性
流量控制
通过滑动窗口机制进行流量控制
利用接收窗口的大小来限制发送窗口的大小。
发送方收到零窗口通知后,使用坚持计时器
四类计时器
重传计时器
接受报文的确认的等待时间
坚持计时器
发送方接收到窗口为0的确认时启动
计时结束,发送探测报文,提示接收端非0窗口通知丢失,需重传
若还未收到通知,重复发送探测报文
保活计时器
防止两个TCP的连接处于长期空闲
时间等待计时器
同意释放连接时启动
使连接处于一种过度状态
时间通常为两个报文段
可靠传输
以字节为单位的滑动窗口
发送方未收到确认时,可将发送窗口内还未发送的数据全部发送出去
接收方只接收序号落入发送窗口内的数据
发送方和接收方的窗口不总是一样大
网络传送窗口有一定滞后,且时间不确定
发送方可能据网络拥塞情况减小发送窗口尺寸
无明确规定如何处理不按序到达的数据
若一律丢弃,发送方会重复传送较多的数据
通常先存放在接收窗口中,等缺少的字节收到后,再按序交付上层的应用进程
接收方必须有累积确认和捎带确认机制
接收方不应过分推迟发送确认,否则会导致不必要的超时重传
TCP标准规定,确认推迟不应超过0.5秒,若收到一连串有最大长度的报文段,必须隔一个报文段发送一个确认[RFC 1122]
捎带确认实际上并不经常发生,因为大多数应用程序很少同时在两个方向上发送数据
TCP的通信是全双工通信
双方都在发送和接收报文段,因此,每一方都有自己的发送窗口和接收窗口
发送窗口
前沿
通常不断前移
不动
1 没有新确认 2 收到确认但对方通知的窗口缩小了
后缩
对方通知的窗口缩小了
后沿
不动
无新确认
前移
有新确认
UDP协议
特点
无连接的、不可靠的传输层协议
简洁、快速、高效
支持单播、多播、广播
传输
无需建立连接,减少了协议开销与传输延迟
报文段格式
伪首部 12字节
源IP地址 4字节
目的IP地址 4字节
0 1字节
17 1字节
UDP长度 2字节
仅在计算校验和有用, 实际并无这个字段
首部 8字节
源端口 2字节
目的端口 2字节
长度 2字节
校验和 2字节
校验伪首部、 UDP头部、数据
数据
适用范围
报文较短,对报可靠性要求不高
例
视频
简短交互
多播与广播
差错控制
除了校验和之外,无其他的保证数据传输可靠性的措施
若分组出错,则丢弃分组,既不确认,也不通知发送端和要求重传
由ICMP发送“端口不可达”差错报文
IPv6协议
优势
具有更大的地址空间
使用更小的路由表更大的地址空间
增加了增强的组播支持以及流支持
加入了对自动配置的支持
具有更高的安全性
首部
版本号 8位
流量类型 8位
流标签 20位
载荷长度 16位
下一报文首部 8位
跳数 8位
源地址 128位
目的地址 128位
寻址
8个16进制字段,共128位
表示
零压缩法
每个以0开头的字段,开头的0可全部省略
连续字段都是0,压缩成一个字段(只能压缩一次)
CIDR方案
2001:250:6000::/48
地址类型
单播地址
任播地址
组播地址
IPv4与IPv6
兼容IPv4
在IPv4地址前加适当前缀
如0:0:0:0:0:0:d:1:44:3/::13.1.68.3
过渡
原则和目标
保证IPv4和IPv6主机之间的互通
在更新过程中避免设备之间的依赖性
对于网络管理者和终端用户来说,过渡过程易于理解和实现
过渡可以逐个进行
用户、运营商可以自己决定何时过渡以及如何过渡
技术
双栈策略
在IPv6结点中加入IPv4协议栈
隧道技术
将IPv6报文封装在IPv4报文中,使IPv6协议包可以穿越IPv4网络进行通信
必须先实现双栈策略