您好(hǎo)!欢迎进(jìn)入保定市禾(hé)邦电子有(yǒu)限公司网(wǎng)站(zhàn)--"禾(hé)邦电子元器件"进行电子元件选型(xíng)!营业时(shí)间上午(wǔ)8:00-12:00,下午(wǔ)13:30-18:00 周日休息(xī)
云开
专业知识

计(jì)算机网络知识点的干货总结 (第五章)运输层

运输层的作用

运(yùn)输(shū)层向它上面的应用层提供通(tōng)信服务(提(tí)供端到端,进程到进程(chéng)的可靠通信),为运行在不同 host 上(shàng)的进(jìn)程提供(gòng)逻辑通信,向高层用户屏蔽通(tōng)信子网的细节

2.UDP 和 TCP 的特点,及使用它们的应用程序,熟知端口号(hào)

UDP 和 TCP 的特点:

UDP

支持单播、多播(bō)、广(guǎng)播

无连接,不可(kě)靠

可以(yǐ)任(rèn)何速率发送(sòng)数据

TCP

仅单播,不支持多播、广(guǎng)播

面(miàn)向连接,可靠按序

流量(liàng)控制(发送(sòng)速(sù)率(lǜ)不超过接收方的接收能力)

拥塞控制(网络过载(zǎi)时限制发送方的发送速率)

及使用它们的应(yīng)用(yòng)程序:

云开

熟知端口号:

云开

 

3.UDP:首部格(gé)式,检验和

首部(bù)格(gé)式:

云开

检验和:

云开

发(fā)送(sòng)端:

先(xiān)设(shè)置检验(yàn)和(hé)字段为 0

每两个字节(jiē)为一组,进(jìn)位累(lèi)加求和,多出的加到最(zuì)后一位

把求(qiú)和结果求(qiú)反,求反即转换成(chéng) 2 进制后,0 变 1,1 变 0

把计算结果放入检验和字(zì)段

接收端

把每 2 个字节为一组,进(jìn)位累加求和

把求和结果求反:为 0 即未检验出(chū)差(chà)错(不(bú)排除(chú)没检测出(chū)来的(de)错误)

云开

4.TCP 的首部(bù)格式(端口号(hào),序号,确(què)认号,窗口,首部长度,检验(yàn)和,6 个标志位)

云开

端口号:各占 2 个(gè)字节
当访问百度时,源端口使用(yòng)客户端(duān)系统随机分配的端口号,目的端口(kǒu)是使用熟知(zhī)端口号 80
序号:占 4 个(gè)字节。序号范围是【0~2^32-1】,循环使用
确认(rèn)号:占 4 个字(zì)节,是(shì)期望收到对方下一个(gè)报文段(duàn)的第一个数据字节的序号。若确认号为 N,则代表:序号 N-1 为止的所有数据都已正确(què)收到
窗口:占 2 个字节。窗口值是【0~2^16-1】之间(jiān)的整(zhěng)数(shù)。窗口指的是发(fā)送本(běn)报(bào)文段的(de)一方(fāng)的接收窗口。窗口值(zhí)告诉对方:从本报文(wén)段首(shǒu)部中的确认(rèn)号算起,接收(shōu)方目前允(yǔn)许对方(fāng)发送(sòng)的数(shù)据量。窗口值作为接收方让(ràng)发送方设置(zhì)其发送窗口的依(yī)据。
窗口(kǒu)字(zì)段明确指出了现在允(yǔn)许对方发送的数据量。窗口值经常在动(dòng)态变化着
首部长度:占 4 位,也叫数据偏(piān)移,最(zuì)小 20,最大 60
检验(yàn)和:占 2 位,检验(yàn)和字段检(jiǎn)验的范(fàn)围包括首部和(hé)数据两部分
6 个标志位:

紧急 URG:当 URG=1 时,表(biǎo)明紧急指针字段有效。紧急指针:指(zhǐ)出在本报文段中紧急数据共(gòng)有多少(shǎo)个字节(紧(jǐn)急数据放在本报文段(duàn)数据的最前面)

确认 ACK:只(zhī)有当 ACK=1 时确认(rèn)号字段才有效

推送 PSH:接(jiē)收(shōu)方 TCP 收(shōu)到 PSH=1 的报文段,就尽快地交付接收应用进程,而(ér)不(bú)再(zài)等(děng)到整个(gè)缓存都填满了(le)后(hòu)再向(xiàng)上交付

复位 RST:当(dāng) RST=1 时,表明 TCP 连接中出现严重差错,重新建立运输连接

同(tóng)步 SYN:同步 SYN=1 表示这是一个连(lián)接请(qǐng)求或连接接受报文

终止 FIN:FIN=1 表明发送端的数据已(yǐ)发送(sòng)完毕,并(bìng)要(yào)求释放运(yùn)输连接

5.TCP 的(de)可靠传输:超时重(chóng)传(chuán)机制,TCP 流量控制(序号,确认(rèn)号,确认(rèn)标(biāo)志位,窗口,死锁(suǒ)问题(tí)与持(chí)续计(jì)时器),发送缓存和接受缓存的作(zuò)用,捎带(dài)确认与累积确认

超(chāo)时(shí)重(chóng)传机制:
超时计时器时间 RTO:RTO=RTTs+4*RTTD
测量多(duō)个 sampleRTT 求(qiú)平均(jun1)值(zhí),形(xíng)成 RTT 的估计值 RTTs:
RTTs=(1-α) * RTTS+α * SampleRTT 典型值α=1/8
测量 RTT 的(de)变化值:RTTs 与 SampleRTT 的差值:
RTTd=(1-β) * RTTD+β * |RTTs-SampleRTT| 典型值:β=1/4
TCP 流量控制(zhì)(序(xù)号,确认号,确认标志位,窗口(kǒu),死锁问题与持续计时器) :

序号:发送窗口里(lǐ)面的序(xù)号表示允许发送的序号

确认号:表明(míng)主机期望收到的(de)下一个序号,而上一个序号位置的数据已(yǐ)经收到了

确认(rèn)标志位:

窗口(kǒu):窗(chuāng)口(kǒu)指的是发(fā)送(sòng)本(běn)报文段的一方的接收窗口;发(fā)送(sòng)窗口表示:在没有收到 B 的确认的情(qíng)况下(xià),A 可(kě)以连(lián)续把(bǎ)窗口内的数据都发送出去。

死(sǐ)锁(suǒ)问(wèn)题:发送方等(děng)待接(jiē)收方通知(zhī)窗口大小,接收方等(děng)待发送方(fāng)发送数据

持续计时器:当(dāng)发送方(fāng)收到接收(shōu)方的零窗(chuāng)口通知,启动持续计时器。若持续计时器到期,就发送一个零窗(chuāng)口探测报文段

接收方(fāng)发送的确认报文段中:
若窗口仍是零(líng),则重置持续(xù)计时器
若窗(chuāng)口不是零,则死锁打开
发送缓存和接受缓存的作(zuò)用:

发送方应用进程(chéng)把数据发送到 TCP 的发送缓存(cún);发(fā)送缓存暂时存放:1 准备(bèi)发送的数据;2 已发送未(wèi)确(què)定(dìng)的数据

接收方应用进程从 TCP 的接收缓存中读取字节流;接收缓(huǎn)存暂时存放:1 已收到但尚未(wèi)提交的数(shù)据;2 失序的数(shù)据
捎(shāo)带确认与累积确认:

累积确认(rèn):即(jí)不必(bì)对收到的分组逐个发送确认,而是对(duì)按序到(dào)达的最后一个分(fèn)组发送确认(rèn),这样就表示(shì):到这个分组位置的所有分组都已正(zhèng)确收到了(le)

捎带确认:当一(yī)个数据帧到达的时候(hòu)后(hòu),接收方并不是立即发送一个单独的控制帧,而是抑制一(yī)下自己并且开始等待,知道网络层(céng)传(chuán)递给他下一个分组,然后,确认(rèn)信息被(bèi)附在往外发送的数据(jù)帧中(zhōng)(使用帧头中的 ack 域)。实(shí)际上,确认(rèn)报文(wén)搭了下(xià)一个外发数据(jù)帧的便车(chē)。

6.TCP 的拥塞控制:网络拥塞的(de)判断(duàn),传输轮次与拥塞窗口大小的关系(慢开始与(yǔ)拥塞避(bì)免(miǎn),门限 ssthresh,重传计(jì)时(shí)器超(chāo)时与三个重(chóng)复(fù) ACK)

网络(luò)拥塞的(de)判断:重传定(dìng)时器超时
*** 传输轮(lún)次与拥(yōng)塞窗口大小的关系(慢开始与拥(yōng)塞避免,门(mén)限 ssthresh,重传计时器超时与三(sān)个(gè)重复 ACK)***:

慢开始:每经过一个 RTT,cwnd 翻倍

拥塞避免:每经(jīng)过一个 RTT,cwnd 加一

慢开始门限 ssthresh:当 cwnd = ssthresh 时由指数(shù)增长切换为线性(xìng)增长;ssthresh=24 时,重(chóng)传计时器超时,发(fā)送方判断为网络拥塞。调整(zhěng) ssthresh=cwnd/2,拥(yōng)塞窗口 cwnd=1,执行慢开始

云开

7.TCP 连接:TCP 的套接字,三次(cì)握手建立 TCP 连接(jiē),四次握手释放(fàng) TCP 连接

TCP 的套接(jiē)字(zì):就是对(duì)网络中不同主机上的应用进(jìn)程之间进行双(shuāng)向通信的端点的(de)抽象。一个(gè)套(tào)接字就是网络上进程(chéng)通信的一端,提(tí)供了(le)应用层(céng)进程利用(yòng)网络协议交换数据的机(jī)制
三次握手建立 TCP 连接:

刚开始客户端(duān) A 和服(fú)务(wù)端(duān) B 都是关闭的

B 的 TCP 服务(wù)器进(jìn)程被(bèi)动(dòng)打开,准(zhǔn)备接受客户进(jìn)程的连接请求

A 主(zhǔ)动打开,A 向 B 发出 SYN 报文段(duàn),选择初始序号,不(bú)携带数据。SYN=1,SEQ=X

B 收到 SYN 报(bào)文段,发回 ACK 报文段,选择初始序号,分配缓存(cún),不携带数据。SYN=1.ACK=1.SEQ=Y,ack=x+1

A 向 B 发送 SYN+ACK 报文段,可(kě)携带数据。通(tōng)知上层应(yīng)用(yòng)进程:TCP 连接已建立。

B 通知其上层应用进程 TCP 连(lián)接已经建(jiàn)立。

云开

四(sì)次握手释放 TCP 连接:

客(kè)户端(duān) A 主(zhǔ)动(dòng)关(guān)闭。A 向 B 发出 FIN 报文段,并停止发送是数据。FIN=1,seq=u

B 通(tōng)知应用进程。B 收到 FIN 报(bào)文段,回复 ACK 报(bào)文段。TCP 连(lián)接处于半关闭状态:B 仍可发(fā)送数据。ACK=1,seq=v,ack=u+1

B 被动关(guān)闭(bì)。若 B 已经没(méi)有要向 A 发送的数据(jù),向 A 发(fā)送 FIN 报文段(duàn)。FIN=1,ACK=1,seq=w,ack=u+1

A 收到 FIN 报文段后,必须发出 ACK 报文(wén)段(duàn)。ACK=1,seq=u+1,ack=w+1

B 收(shōu)到 ACK 报文段后,TCP 连接关闭。

云开

地址:保定市隆兴西路208号(hào)(高新区朝(cháo)阳龙座西行(háng)200米路南(nán))  电话:0312-3158163  传真:0312-3158165  Email:hebangdianzi@126.com
客服QQ1:63355785   客(kè)服QQ2:61303373    客服QQ3:67399965     客服QQ4:2656068273 产品分类地图
版权所有:保定市云开和禾邦电子有限公司(sī)  保定市禾(hé)邦电(diàn)子有限公(gōng)司(sī)营业执照  云开备案号:冀(jì)ICP备12019441号-1       
关(guān)键字:保定电子元器件 保定(dìng)电子元件 电子元器件 电子(zǐ)元件   

云开

云开