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

计算机网(wǎng)络知识点的干货总(zǒng)结 (第五章)运输层

运输层的(de)作用

运输层向它上面的应用层提供通信服务(提供(gòng)端到端,进程到进程的可靠(kào)通(tōng)信),为运行在(zài)不同 host 上(shàng)的进程提(tí)供逻辑通信,向高层用户屏蔽通信子网(wǎng)的细(xì)节

2.UDP 和 TCP 的特(tè)点,及使用(yòng)它们(men)的应用程序,熟知(zhī)端口(kǒu)号

UDP 和 TCP 的特(tè)点:

UDP

支持单(dān)播、多播、广播(bō)

无连接(jiē),不(bú)可(kě)靠

可以(yǐ)任何速率发送数据

TCP

仅单播(bō),不支持(chí)多播、广(guǎng)播(bō)

面向(xiàng)连接,可靠按序(xù)

流量(liàng)控制(zhì)(发送速(sù)率不超过接收方(fāng)的接收能力)

拥塞控制(网络过载时限制发送(sòng)方的发送速率)

及使用它们(men)的(de)应用程(chéng)序:

开云

熟知端口号

开云

 

3.UDP:首部格式,检验和

首部(bù)格式

开云

检验和

开云

发送端:

先(xiān)设置检验和字段为 0

每两个字节为一组,进位累加求和,多出的加(jiā)到最后一(yī)位

把求和结果求反,求反即转换成 2 进制后,0 变 1,1 变(biàn) 0

把计算(suàn)结果放入检(jiǎn)验和字(zì)段

接收端

把(bǎ)每 2 个(gè)字(zì)节为一组,进位累加(jiā)求和

把求和结果求反:为 0 即(jí)未(wèi)检验出差错(不排(pái)除没检(jiǎn)测出来的错误)

开云

4.TCP 的首(shǒu)部格式(端口(kǒu)号,序号(hào),确认号,窗口,首部长度,检(jiǎn)验和(hé),6 个标志位)

开云

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

紧急(jí) URG:当 URG=1 时,表明(míng)紧(jǐn)急指针字段有效(xiào)。紧(jǐn)急指针(zhēn):指出在本报文段中紧急数据共有多少个字节(紧急数据放在本(běn)报文(wén)段数据的最(zuì)前面)

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

推送 PSH:接收方 TCP 收(shōu)到 PSH=1 的报文段,就尽快地交(jiāo)付(fù)接收应用进程,而不再等到整个(gè)缓存都填满(mǎn)了(le)后再(zài)向上交付

复位 RST:当 RST=1 时,表明 TCP 连接中出现严重差错(cuò),重新建立运输连(lián)接

同步 SYN:同步 SYN=1 表示这是一个连(lián)接请求(qiú)或连(lián)接接受报文

终止 FIN:FIN=1 表明发送端(duān)的数据(jù)已发送完毕(bì),并要求(qiú)释放运(yùn)输连接(jiē)

5.TCP 的可靠传输(shū):超时重传机制,TCP 流量控制(序号,确认号,确认标志位,窗口(kǒu),死锁问题与持续计(jì)时器),发送缓存和接受缓存的作(zuò)用(yòng),捎带确(què)认与累积确认

超时重传机制
超时计时器时间 RTO:RTO=RTTs+4*RTTD
测量多个 sampleRTT 求平(píng)均值,形(xíng)成 RTT 的估计值(zhí) RTTs:
RTTs=(1-α) * RTTS+α * SampleRTT 典(diǎn)型值α=1/8
测量(liàng) RTT 的变化值:RTTs 与 SampleRTT 的差值:
RTTd=(1-β) * RTTD+β * |RTTs-SampleRTT| 典型值:β=1/4
TCP 流量控制(序号,确(què)认号,确认(rèn)标志位,窗(chuāng)口(kǒu),死锁问题(tí)与持续计时器) :

序号:发送窗口(kǒu)里面的序号表(biǎo)示允许(xǔ)发送(sòng)的序(xù)号(hào)

确认号:表明主机期望收到的下一个序号,而上一个序号位(wèi)置的(de)数据已经(jīng)收到(dào)了

确认(rèn)标志位:

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

死锁(suǒ)问题:发送方等待接收方通知窗(chuāng)口大小,接收方等待发送方发(fā)送(sòng)数据

持续(xù)计时(shí)器:当发送(sòng)方收(shōu)到接收方的零窗口(kǒu)通知,启动持续计时(shí)器(qì)。若持续计时器到期,就发(fā)送(sòng)一个零窗口探测报文(wén)段

接(jiē)收方发送的确认报文段中:
若窗口仍是零,则重置持续计时器
若窗口不是零,则死锁打开
发送(sòng)缓存(cún)和(hé)接(jiē)受缓存的作用(yòng)

发送方应(yīng)用(yòng)进程把数据发送到 TCP 的发送缓存;发送(sòng)缓(huǎn)存暂时(shí)存放:1 准备发送的数据;2 已发送未确定的数据

接收(shōu)方应(yīng)用进程从 TCP 的接收缓存(cún)中读(dú)取字(zì)节流(liú);接收缓存暂(zàn)时存放:1 已收到(dào)但尚未提交的数(shù)据;2 失序(xù)的数据
捎带确认与累(lèi)积确(què)认

累(lèi)积确认:即不必对收到的分(fèn)组逐个发送确认,而是对按序到(dào)达(dá)的最后一个(gè)分组发送确(què)认,这样就表示:到这(zhè)个分组位(wèi)置的所有分(fèn)组都已正确收到了

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

6.TCP 的拥塞控制(zhì):网络(luò)拥塞的判断,传输轮次与拥塞窗口大小的关系(慢开始(shǐ)与拥塞避免(miǎn),门(mén)限 ssthresh,重(chóng)传(chuán)计(jì)时器超时与三个重复 ACK)

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

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

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

慢开(kāi)始门限(xiàn) ssthresh:当 cwnd = ssthresh 时由(yóu)指数增长切换(huàn)为(wéi)线性增(zēng)长(zhǎng);ssthresh=24 时,重传计时(shí)器超时,发(fā)送方(fāng)判断为(wéi)网络拥塞。调整 ssthresh=cwnd/2,拥塞窗口 cwnd=1,执行慢开始

开云

7.TCP 连(lián)接:TCP 的套接字,三次握(wò)手建立(lì) TCP 连接(jiē),四次(cì)握(wò)手释放 TCP 连接

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

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

B 的 TCP 服务器进(jìn)程被动打开,准备接受客户进(jìn)程(chéng)的连接请求

A 主动打开,A 向 B 发(fā)出 SYN 报文段,选择初始序号,不携(xié)带数据。SYN=1,SEQ=X

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

A 向 B 发送 SYN+ACK 报文段(duàn),可携带(dài)数据。通(tōng)知上层应用进程:TCP 连接已(yǐ)建立。

B 通知(zhī)其上层应用进(jìn)程(chéng) TCP 连接已经(jīng)建立。

开云

四(sì)次握手(shǒu)释放 TCP 连接(jiē):

客户端 A 主动关闭。A 向 B 发出 FIN 报文(wén)段,并停止(zhǐ)发送(sòng)是数据。FIN=1,seq=u

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

B 被(bèi)动关闭。若(ruò) B 已经没有要向(xiàng) A 发(fā)送的数据,向 A 发送 FIN 报(bào)文段。FIN=1,ACK=1,seq=w,ack=u+1

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

B 收到 ACK 报文(wén)段后,TCP 连接关闭。

开云

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

开云

开云