网络世界的“交通规则”——TCP/IP(一)

一、非可靠传输的协议——UDP

1.1 UDP的报文格式

(1)UDP长度:表示整个UDP数据包的长度(报头+载荷);

(2)校验和:用于验证UDP数据包在传输过程中有没发生比特翻转(由于各种原因导致的比特位变化,如0变为1,接收方在收到数据包后会重新进行校验和的计算,如果与UDP数据包中的校验和不同,就会丢弃这个数据包),前面所学的HTTPS中证书的数字签名本质上就是一段被加密的校验和。


1.2 UDP的特点

(1)无连接:知道对方的IP端口号就能进行传输,不用建立连接

(2)不可靠:没有确认重传机制,如果发送的数据报没有到达对方,UDP不会做出任何处理,对方也不知道发送方向自己发送了数据

(3)面向数据报:不能灵活控制数据读写的次数和数量

!!!但是除此之外,UDP在大部分情况下为TCP所取代的原因还有:由于UDP报头中UDP长度的大小仅有16位,只能够表示64kb的大小,对于现在来说是不够的(可能随便发送一个图片就要几个mb ),如果非要用UDP来传输的话,就需要拆分和组合数据报,非常麻烦


 二、可靠传输的协议——TCP

2.1 TCP的报文格式

目前只讨论部分字段,其余字段将在后面了解到:

(1)16位源端口号/16位目的端口号:传输层的核心内容

(2)4位首部长度:4位,表示整个数据包的大小,使用4字节为单位(如4个比特位最多表示15,15x4=60字节)

(3)保留(6位):为未来可能的协议扩展或新功能预留的,目前保留位通常被设为0

(4)6位标志位:包含URG等6个字段,是TCP最核心的6个标志位


2.2 TCP的核心机制

2.2.1 保证传输可靠性的机制

这里所说的可靠性并不是说A给B发送一组数据,B一定能收到,而是尽可能的让B收到,就算B收不到,A也能知道

2.2.1.1 核心机制一——确认应答

如A给B发送一组数据,B接收到以后,会向A发送一个应答报文

什么是应答报文?

答:应答报文也是一个TCP数据报,但是它的载荷不携带任何信息,在发送应答报文时,只需要将6位标志位中的ACK设置为1即可。

  确认应答的过程是怎么样的?(图示)

  但是,对于上述确认应答的过程,有没有可能A给B发了不止一个数据报,而B的应答报文发错对象了呢?如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值