五、传输层

(一)TCP传输控制协议

可靠的、面向连接的字节流服务,全双工,有端口寻址功能

1、TCP的三种机制

1.使用序号对分段的数据进行标记,便于调整数据包

2.TCP使用确认、校验和和定时器系统提供可靠性

3.TCP使用可变大小的滑动窗口协议进行流量控制,在传输实体缓冲区进行排序和重传纠错

2、TCP报文首部格式

源端口

目的端口

序列号

确认号

报头长度

保留

URG

ACK

PSH

RST

SYN

FIN

窗口

校验和

紧急指针

选项

数据

源端口、目的端口:长度为16位,端口用于标识应用程序,端口范围0-65535

序列号:长度为32位

确认号:长度为32位,如果确认号是N,则表示N-1之前(包括N-1)的所有数据都已正确收到

报头长度:即数据偏移字段,长度为4位

保留字段:长度为6位

紧急URG:紧急有效,需要尽快送达

确认ACK:建立连接后的报文回应,ACK设置为1

推送PSH:接收方应尽快将这个报文段交给上层协议,无需等缓存满

复位RST:复位为初始状态,重新连接

同步SYN:发起连接

终止FIN:释放连接

窗口:长度为16位,用来进行流量控制,这个值是本机期望下一次接收的字节数

校验和:长度为16位,对整个TCP报文首部进行校验,包括TCP头部和TCP数据

紧急指针:长度为16位

选项:长度可变到40字节,为保证报头长度是32位的倍数

3、TCP三次握手建立连接

SYN:已经发出了连接请求

ACK确认

SEQ自身序号

SYN-SENT:连接正处于已主动发出连接建立请求

LISTEN:处于连接监听状态

ESTABLISHED:连接已经建立

1表示同意建立连接,0表示拒绝

4、TCP四次挥手释放连接

FIN:已经发出了释放请求

5、TCP拥塞控制

TCP拥塞控制,每个源端判断当前网络中有多少可用容量,从而知道他可以安全完成传送的分组数。拥塞控制就是防止过多的数据注入网络,避免网络中间设备过载而发生拥塞。

TCP拥塞控制机制:

(1)超时重传计时器

重传是保证TCP可靠的重要措施。TCP每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的时间到了,但还没有收到确认,就重传这一报文段。

重传时间与往返时间、平均时延、时间偏差等有关。

(2)慢启动

发送方在接收到确认之前逐步扩大窗口的大小,按1、2、4、8等指数规律翻倍,最后到达门限阈值。出现超时,将拥塞窗口回到1,再次开始慢启动。

(3)拥塞避免

窗口到达门限阈值以后,进入拥塞避免阶段,TCP采用线性增加方式放大窗口,按照+1递增。发生拥塞,门限阈值减半,再发生再减半,按指数规律成倍减半。

(4)快速重传

发送端一连收到3个重复的ACK,就开始重传,不等计时器。

(5)可变滑动窗口

(6)选择重发ARQ

(二)UDP用户数据报协议

不可靠的、无连接的数据报服务,无差错流控机制,有端口寻址功能,开销较小。

在传送数据较少且较小的情况下,UDP比TCP更加高效

1、UDP报文首部格式

源端口号(16位)

目的端口号(16位)

长度(16位)

校验和(16位)

数据

源端口号、目的端口号:0-65535

长度:标明UDP头部和UDP数据的总长度字节

校验和:对UDP头部和UDP数据进行校验,有错就丢弃,相当于TCP的有错重传机制,UDP的校验和是可选项,TCP的校验和是必选项

(三)TCP与UDP比较

同:TCP和UDP均提供端口寻址

异:TCP支持数据传输,UDP支持音视频传输

UDP:SNMP、“STDD”、TFTP、DHCP、DNS

TCP:SMTP、POP3、HTTP

(四)端口

端口用于标识主机进程,范围0-65535

分为:系统端口、登记端口、客户端使用端口

1、系统端口

范围0-1023

协议号

名称

功能

20

FTP-DATA

FTP数据传输

21

FTP

FTP控制

22

SSH

SSH登录

23

TELNET

远程登录

25

SMTP

简单邮件传输协议

53

DNS

域名解析

67

DHCP

DHCP服务器开启,用来监听和接收客户请求信息

68

DHCP

客户端开启,用于接收DHCP服务器的消息回复

69

TFTP

简单FTP

80

HTTP

超文本传输协议

110

POP3

邮局协议

143

IMAP

交互式邮件存取协议

161

SNMP

简单网管协议

162

SNMP(trap)

SNMP trap报文

2、登记端口

范围1024-49151,为没有熟知端口号的应用程序使用,必须在IANA(互联网数字分配机构)登记避免重复

3、客户端使用端口

范围49152-65535,仅在客户进程运行时使用,使用完毕后,进程释放端口

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值