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

关键字(zì):保(bǎo)定(dìng)电子元器件 保定电子元件 电子元器件(jiàn) 电子元件(jiàn)