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

关(guān)键字:保定电子(zǐ)元器件 保定电子元件(jiàn) 电子元器件(jiàn) 电子元件