运输层的作用
运输层向它上面的应用(yòng)层提供通信服务(提(tí)供(gòng)端到端,进程到进程的可(kě)靠通信),为(wéi)运行在不(bú)同 host 上的进程提供(gòng)逻辑通信,向高层(céng)用户屏蔽通信子网的细节
2.UDP 和 TCP 的特(tè)点,及使用它们的应用程序,熟知端口号
UDP 和 TCP 的特点:
UDP
支持(chí)单播、多播(bō)、广(guǎng)播(bō)
无连接(jiē),不可靠
可(kě)以任何速率发送数据(jù)
TCP
仅单播,不支持(chí)多播、广播(bō)
面向(xiàng)连接,可(kě)靠按序(xù)
流量控制(zhì)(发送(sòng)速率(lǜ)不超过接(jiē)收方(fāng)的接收能力)
拥塞(sāi)控制(网络过载时(shí)限制发送方的发送(sòng)速(sù)率)
及使用它们的应用程(chéng)序:
熟知端口号:
3.UDP:首部格式,检验(yàn)和(hé)
首部格式:
检(jiǎn)验和:
发送端:
先设置检验和字(zì)段为 0
每两个字节为一组,进位累(lèi)加求和,多出的加到最(zuì)后(hòu)一位(wèi)
把求(qiú)和结果求(qiú)反,求(qiú)反即转换成 2 进制后,0 变 1,1 变 0
把计算结果放入检验和字段
接(jiē)收端
把每 2 个(gè)字节为一组,进(jìn)位累加求和
把求和(hé)结果求反:为 0 即未检验出差错(不排除没检测出来的错(cuò)误)
4.TCP 的首部(bù)格(gé)式(端口(kǒu)号,序号,确认号,窗口,首部长度,检验和,6 个(gè)标志位)
端(duān)口号:各占 2 个字节
当访问百(bǎi)度时,源端(duān)口(kǒu)使用(yòng)客户端系(xì)统随机(jī)分配的(de)端口号,目的端口是使用熟知端(duān)口号 80
序号:占(zhàn) 4 个字节。序号范围是【0~2^32-1】,循环(huán)使用
确认号:占 4 个字节,是期望收到对(duì)方下一(yī)个报(bào)文段(duàn)的(de)第一个数据字节的序(xù)号。若(ruò)确(què)认(rèn)号为 N,则(zé)代表:序号 N-1 为止(zhǐ)的所有数(shù)据都(dōu)已(yǐ)正(zhèng)确收到
窗口:占(zhàn) 2 个字节。窗口值(zhí)是【0~2^16-1】之(zhī)间的整数。窗口指的(de)是发送本报文段的(de)一(yī)方的接收窗口(kǒu)。窗口值告诉对方:从本(běn)报文段首部(bù)中的(de)确认号(hào)算起,接收方目前允许对(duì)方发送的数据量。窗口值作为(wéi)接收方让发(fā)送方(fāng)设(shè)置(zhì)其发送窗(chuāng)口(kǒu)的依据(jù)。
窗口(kǒu)字段明(míng)确(què)指(zhǐ)出了现在(zài)允许对方发送(sòng)的数据(jù)量(liàng)。窗口值经常(cháng)在(zài)动态(tài)变(biàn)化(huà)着
首部长(zhǎng)度:占(zhàn) 4 位,也叫数据偏移,最(zuì)小(xiǎo) 20,最大(dà) 60
检验和:占 2 位,检验和字段检(jiǎn)验的范围(wéi)包(bāo)括首部和(hé)数据(jù)两部分
6 个标志位:
紧急 URG:当 URG=1 时,表明紧急(jí)指针字段有(yǒu)效。紧急指(zhǐ)针:指出在本报文段中紧急(jí)数据共有多(duō)少个字节(紧急数据放在本报文段数据的最前面)
确认 ACK:只有当 ACK=1 时(shí)确认(rèn)号字段才有(yǒu)效
推(tuī)送 PSH:接(jiē)收方 TCP 收到 PSH=1 的报文段,就尽快(kuài)地交付(fù)接收(shōu)应用进程(chéng),而不再等到整个缓存(cún)都(dōu)填满了(le)后再向上交付(fù)
复位 RST:当 RST=1 时,表明 TCP 连接中出(chū)现严(yán)重差(chà)错,重新建立(lì)运输连(lián)接(jiē)
同步 SYN:同步(bù) SYN=1 表示(shì)这是一个(gè)连接(jiē)请求或连接接受报(bào)文
终止 FIN:FIN=1 表明发送端的数据已(yǐ)发送完毕,并要求释放运输(shū)连接
5.TCP 的(de)可(kě)靠传输:超时重传机制,TCP 流量(liàng)控制(序(xù)号,确(què)认号,确认标志位,窗口,死锁问(wèn)题与持续计时器(qì)),发送缓存和(hé)接受缓(huǎn)存的作用,捎带确认与(yǔ)累(lèi)积确(què)认(rèn)
超时重传机(jī)制:
超时计时器时间(jiān) RTO:RTO=RTTs+4*RTTD
测量多个 sampleRTT 求(qiú)平均值,形成 RTT 的估(gū)计(jì)值(zhí) RTTs:
RTTs=(1-α) * RTTS+α * SampleRTT 典型值α=1/8
测量 RTT 的变(biàn)化值:RTTs 与 SampleRTT 的差值:
RTTd=(1-β) * RTTD+β * |RTTs-SampleRTT| 典型值:β=1/4
TCP 流(liú)量控(kòng)制(序号,确认号,确认标志(zhì)位,窗口,死锁问题与持续计(jì)时器) :
序号:发送窗口里面的序(xù)号(hào)表(biǎo)示允许发送的序号
确认号(hào):表明主机期望收(shōu)到的下一个序(xù)号(hào),而上一个序号位置的数据已(yǐ)经收到了
确认标志位:
窗口:窗口指的是(shì)发(fā)送(sòng)本报(bào)文(wén)段(duàn)的(de)一方的(de)接收窗口;发(fā)送(sòng)窗(chuāng)口表(biǎo)示:在没(méi)有(yǒu)收到 B 的确认的情况下,A 可以(yǐ)连续把窗口(kǒu)内(nèi)的数据都发送出去。
死锁(suǒ)问题:发送方等(děng)待接收方通知窗口大(dà)小(xiǎo),接收方等待发送方发送数据
持续计时器:当发送方收到接收方的零窗口通知(zhī),启动持(chí)续计时器。若持续计时器到期,就发送一个零(líng)窗口探测报文段(duàn)
接(jiē)收(shōu)方(fāng)发送的确认(rèn)报文(wén)段中:
若窗口仍是零,则重置(zhì)持续计时器
若窗(chuāng)口不是零,则死锁打开
发送缓(huǎn)存和接受缓(huǎn)存(cún)的作(zuò)用:
发送方(fāng)应用(yòng)进(jìn)程(chéng)把数据发送到 TCP 的发送缓存(cún);发送缓存暂时(shí)存(cún)放:1 准备发送的数据;2 已发送未确定的(de)数(shù)据
接收(shōu)方应(yīng)用进程从 TCP 的接(jiē)收缓存中读取字节(jiē)流(liú);接收缓存(cún)暂时存放:1 已收到(dào)但尚未提交的(de)数据(jù);2 失序的数据
捎带确认与累积确认:
累积(jī)确认:即不(bú)必对收到(dào)的分组逐个发(fā)送(sòng)确认,而是(shì)对(duì)按序到达的最后一(yī)个分组(zǔ)发(fā)送确(què)认,这样就表(biǎo)示(shì):到这个(gè)分组位置的所有分组都已正(zhèng)确收到了
捎带(dài)确(què)认:当(dāng)一个(gè)数据帧到达的时候后,接(jiē)收方并不是立即发送(sòng)一个单独的控(kòng)制帧,而是抑制一下自己并且开始(shǐ)等(děng)待,知道网络(luò)层传递给他下一个分组(zǔ),然后,确认信息被(bèi)附在往外(wài)发送的数(shù)据帧中(使用帧头中的 ack 域)。实(shí)际(jì)上(shàng),确认报(bào)文搭了下一个(gè)外发数据帧的便车。
6.TCP 的拥塞控制(zhì):网络(luò)拥塞的(de)判断,传输轮次与拥塞窗口大小的关系(慢开始与(yǔ)拥塞避免,门限 ssthresh,重传计时器超时与三(sān)个重(chóng)复 ACK)
网(wǎng)络拥(yōng)塞的(de)判断:重传定时器超时
*** 传输轮次与拥塞窗口大(dà)小的关(guān)系(慢开始与(yǔ)拥塞避免,门限 ssthresh,重传计时器(qì)超时与三个重复 ACK)***:
慢开始:每经过一(yī)个 RTT,cwnd 翻倍
拥塞避免:每经(jīng)过一个 RTT,cwnd 加一
慢开始门限 ssthresh:当 cwnd = ssthresh 时(shí)由指数增长切换为线性增长;ssthresh=24 时,重传计时器超时,发送方判断为网(wǎng)络(luò)拥(yōng)塞。调(diào)整 ssthresh=cwnd/2,拥塞窗口 cwnd=1,执行慢(màn)开始
7.TCP 连(lián)接:TCP 的套接(jiē)字,三次握手建立 TCP 连接(jiē),四次握手释放(fàng) TCP 连接
TCP 的套接字:就是对网络中不同(tóng)主机上的应(yīng)用进(jìn)程之间进行双向通信的端点(diǎn)的抽象。一(yī)个套接字就是网络上(shàng)进程通信的(de)一端,提供了应用层进程(chéng)利用网(wǎng)络协议(yì)交(jiāo)换(huàn)数(shù)据的(de)机制(zhì)
三次握手(shǒu)建立 TCP 连接:
刚开始客户端 A 和服务端 B 都是关闭的
B 的(de) TCP 服(fú)务器进程被动(dòng)打开(kāi),准备接受客户进(jìn)程(chéng)的连接请求
A 主动打(dǎ)开,A 向 B 发出 SYN 报文段,选择初(chū)始序号,不携带数据。SYN=1,SEQ=X
B 收(shōu)到 SYN 报文段,发回 ACK 报(bào)文段,选(xuǎn)择初始序号,分配缓存,不携带数据。SYN=1.ACK=1.SEQ=Y,ack=x+1
A 向 B 发送 SYN+ACK 报文(wén)段,可携带数据。通知上(shàng)层应用(yòng)进程:TCP 连接已建立。
B 通知其上层应用进(jìn)程 TCP 连接已经建(jiàn)立。
四次握(wò)手(shǒu)释放 TCP 连接(jiē):
客户端 A 主动关闭。A 向 B 发(fā)出(chū) FIN 报文段,并停止发送是数据。FIN=1,seq=u
B 通知应用进程(chéng)。B 收到 FIN 报(bào)文段,回(huí)复 ACK 报文段。TCP 连(lián)接处于(yú)半关闭状态:B 仍可发(fā)送数据。ACK=1,seq=v,ack=u+1
B 被(bèi)动关闭(bì)。若(ruò) B 已(yǐ)经没有(yǒu)要向 A 发送的数(shù)据,向 A 发(fā)送 FIN 报文段。FIN=1,ACK=1,seq=w,ack=u+1
A 收到 FIN 报文段后(hòu),必须发出 ACK 报文段(duàn)。ACK=1,seq=u+1,ack=w+1
B 收到 ACK 报文段后,TCP 连接关闭。
客服QQ1:63355785 客服QQ2:61303373 客服QQ3:67399965 客服QQ4:2656068273 产品分类地图(tú)
版权所有:保定市九州网页版和禾邦电子(zǐ)有限公司 保定市九州网页版和禾邦电(diàn)子有限公司营业执照

关键字(zì):保定电子元器件 保(bǎo)定电子元件 电子元器件 电子元件