企业资料通讯Week6 (3) | Transport Layer_婴儿食品版

现在进入了传输层,是OSI(Open Systems Interconnection )模型的第四层,送的那一端负责把应用层丢下来的Message 拆分成Segments并往下传到Network Layer;而收到的那一端就负责重组(reassembles)然后往上传到应用层。
协定上多使用TCP、UDP(其他还有很多)

- 提供服务:

Connection-oriented communicationSame order deliveryReliabilityFlow controlCongestion avoidancePort Multiplexing

Transport Layer

Multiplexing 与 DeMultiplexing

参见:WIKI|Multiplexing
宅学习|多路複用

Multiplexing :在传送出去之前,在header 有添加位置资讯这个动作,以致不至于混淆目的地。DeMultiplexing:依着header上面的资讯使讯息能够正确到达收件者那裏。
http://img2.58codes.com/2024/20135414Sr0JdqlP6c.png

我们需要IP 与 Port 才能把讯息送到正确的socket
http://img2.58codes.com/2024/201354147cTWZbCbsW.png

TCP 与 UDP 在Multiplexing上的差别

TCP 比 UDP 複杂很多,TCP 提供可靠、有序的「双向传输」,不仅会flow control(流量控制)、congestion control(阻塞控制)、connection setup(预先建立连线),此外还有报错功能;而UDP就是unreliable, unordered
的「单向传输」,而且是Connectionless的(TCP是Connection-oriented)!
可以看看:我之前的文章

http://img2.58codes.com/2024/201354147k8mbveDrl.png
A:connectionless是不事先安排将消息从一个端点发送到另一端点。


下图是UDP的segment型式,前四个栏位为header部分,header每一栏位是16bits,这里逐一介绍:
http://img2.58codes.com/2024/20135414upM6hja15N.png

source port:来源的port号destination port:目的地的port号length:整个segment(含header & payload)的资料长度,以Bytes记。
注:length 最小是8 Bytes(因为header本身就占8Bytes),最大是65535Bytes(因为length是16bit数字=>2^16,实际上是更小)checksum:检查错误用,使用2进位加法

下面那一大块写着"application data"的是主要内容,也叫(payload)

Checksum

稍微检查有无错误的机制,在UDP中如果发现错误直接丢掉此封包,不会报错(也会有漏网之鱼)
此外,世界上还有很多检查的算法,有的还有错误校正功能EX:哈明code
http://img2.58codes.com/2024/201354146NuU2luIeb.png
参见:WIKI|Checksum
加完之后如果多一位,就把那多出的一位加在最右边,如此得到"sum",
sum 做 flip(0变1,1便0) 就是checksum。

名词解释:flipped bits:传送过程可能发生0变成1,1变成0的错误。
注:在UDP中,sender 与 receiver都会做相同的检查。

稍微说一下TCP

之后TCP会详细解释,这里稍微点一下。
因为TCP比较複杂,传输时需要4个数组(source IP 位址、source Port、目的地 IP 位址、目的地Port),
如此可以确认你开的socket是唯一的。
UDP 只要两个:目的地 IP 位址、目的地Port
http://img2.58codes.com/2024/20135414Eu4fxYycJo.png

下图是多线程
http://img2.58codes.com/2024/20135414B0DzoU7tdn.png

参见:
WIKI|传输层
Transport Layer


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章