云计算——寒假第三天

传输层封装

一、封装——传输层

传输层封装------TCP/UDP

1.TCP和UDP的区别:

    • TCP是面向连接的协议,而UDP是无连接的协议;

TCP的三次握手和四次挥手——有建立和断开连接的过程

    • TCP协议的传输是可靠的,而UDP传输是“尽力而为”;

TCP的可靠性------确认(确认对方收到)、重传(未收到回复时)、排序、流控

    • TCP协议可以实现流控,而UDP不行;

窗口大小(窗口值)——设备可以同时处理的数据包数-------决定流速-------实际传输过程中,窗口值按字节数表示(每个数据包中字节数不一样)

设B窗口值为3:(A、B两个设备数据传输)

(1).

A将会连续发3个数据包,并每次发送在数据包中写win=3---表示发3个数据包(1号、2号、3号)示意B在A发完后再请求回复;

(2).

B回复A,并在数据包中注自己的窗口值;

(3).

A知道了B可以同时处理3个数据包后将会在下次发送数据包时,增加发送的数据包数量(4号、5号、6号、7号、8号。。。),并加大win值——窗口值向上试探----追求最大传输

(4).

若B最多只能处理3个(4号、5号、6号),则会发送请求ACKNO=7,A则从7号开始继续发送数据包,并保持这个速率,但一段时间后会继续试探窗口值

4.TCP可以分段,保证对方能准确收到信息;

分段:将较大的数据包分成几段小的再发送

5.TCP消耗资源比较大,传输效率较低;UDP消耗资源较小,速度快。

2.TCP和UDP的使用场景

TCP:更适用于对可靠性的要求较高,对资源占用和传输效率要求较低的场景;

UDP:更适用于对传输效率要求较高,对可靠性要求较低的场景。

3.什么是面向连接

在正式传输数据之前,先使用预先的协议建立点到点的连接。

TCP建立的连接实际建立了一个双向的会话连接,即通讯双方都可以向对方发送数据。

二、TCP与UDP

传输层封装——TCP/UDP在从应用层传输下来的数据的前面封装头部(首部)

TCP的头部

1. 选项:

可有可没有----可变长度的原因;

2. URG

紧急标记位------一般为0,激活时为1(下同)-----激活紧急指针,指针前的优先处理;

3. ACK:

确认标记位------同意建立连接;

    • RST:

RST激活时,TCP对话将强制断开

5. PSH:

表示分段发送的各子段已经发送完成,提示对方可将数据推入应用层;

6. SYN:

请求标记位-----请求建立连接;

7. FIN:

结束标记位------请求断开连接

8. 校验和:

确保数据的完整性;

伪头部校验:校验内容广泛,除了校验传输层头部内容外,还会将网络层头部中的一部分内容一起进行校验。

TCP头部最短20个字节。

UDP头部

三、封装与解封装

    • 封装

封装的必要参数

传输层:端口号。源端口号 目标端口号

网络层:IP地址。源IP地址 目标IP地址

数据链路层:MAC地址。源MAC地址 目标MAC地址

    • 解封装

解封装原则:

1:必须从底层往高层解封装

2:解封装时,只有协议报头合理,才可以解封装。

3:解封装一旦停止,数据就会被丢弃

解封装由接收者触发,数据必须经过解封装才可以被接受

四、TCP的三次握手

序号:序号真正传输的时候不是单纯的”+1“,而是与数据包中的字节数有关

数据段1发送时序号为"x"指300个字节里的第一个字节的序号,数据段1中是(x—x+300-1)个

数据段2发送时的序号为"x+300",最后一个是"x+300+400-1"

数据段3发送的序号为"x+300+400"

三次握手
1,第一次握手——首先客户端先向服务器端发送一个TCP报文

a. 标记位为SYN,表示“请求建立新连接”;

b. 序号为Seq=X(X的值是随机的)(传输信息的时候每个数据包的序号);

c. 随后客户端进入SYN-SENT阶段(请求连接的阶段)。

2.第二次握手——服务器端收到来自客户端的TCP报文之后,返回一段报文

a. 标志位为SYN和ACK,表示“确认客户端的报文Seq序号有效,服务器能正常接收客户端发送的数 据,并同意创建新连接”------即告诉客户端,服务器收到了你的数据;

b.序号为Seq=y-------返回一个收到信息的数据包 并给其标序号为y

c. 确认号为Ack=x+1,表示收到客户端的序号Seq并将其值加1作为自己确认号Ack的值(两端配对 接收到消息 并反馈的过程)-------随后服务器端进入SYN-RCVD阶段。

3.第三次握手——客户端接收到来自服务器确认收到数据的TCP报文后,明确了从客户端到服务器的数 据传输是正常的,结束SYN-SENT阶段,并返回一段TCP报文

a. 标志位为ACK,表示“确认收到服务器端同意连接的信号”------即告诉服务器,我知道你收到我 发的数据了);

b. 序号为Seq=x+1,表示收到服务器端的确认号Ack,并将其值作为自己的序号值;

c.确认号为Ack=y+1,表示收到服务器端序号Seq,并将其值加1作为自己的确认号Ack的值;

随后客户端进入ESTABLISHED阶段。(即成功建立了连接)

五、TCP的四次挥手

    • 第一次挥手——首先客户端(A)想要释放连接,向服务器端(B)发送一段TCP报文,其中

a.标记位为FIN=1,表示“请求释放连接“;

b.序号为Seq=p

    • 第二次挥手——服务器端接收到从客户端发出的TCP报文之后,确认了客户端想要释放连接,并返回 一段TCP报文,其中:

a. 标记位为ACK=1,表示“接收到客户端发送的释放连接的请求”;

b.确认号为Ack=p+1,表示是在收到客户端报文的基础上,将其序号Seq值加1作为本段报文确认号 Ack的值;

3.第三次挥手——服务器端发出ACK确认报文之后,做好了释放服务器端到客户端方向上的连接准备, 再次向客户端发出一段TCP报文

a.标记位为FIN=1,表示“已经准备好释放连接了”。注意:这里的ACK并不是确认收到服务器 端报文的确认报文。

b.序号为Seq=q

4.第四次挥手——客户端收到从服务器端发出的TCP报文,确认了服务器端已做好释放连接的准备并向 服务器端发送一段报文

a.标记位为ACK=1,表示“接收到服务器准备好释放连接的信号”。

b.确认号为Ack=q+1;表示是在收到了服务器端报文的基础上,将其序号Seq值+1作为本段报文确 认号的值。

六、为什么握手三次,挥手四次

1.为什么握手三次,挥手四次(以挥手的图解为例):

B发出的"ACK=1、FIN=1"不能一起发------跟数据有关

A的数据发完了之后,B的数据不一定发完了,所以不能在回应ACK的同时也回应FIN,要B的数据发完之后,B才回应FIN,两个数据不能合一起。(特殊情况:当两边的数据都同时发完,才可以ACK、FIN一起发)

2.为什么断开连接A最后还能发“ACK”

断开的是数据通道,断开后是不能发数据,但不是也不能发指令信号,A第四次挥手回复的“ACK“不包含数据。

网络层封装

    • 数据帧

第一层:

4位版本——标注IPv4/IPv6;

4位首部长度-------跟选项相关。

第二层--------IP的分片

13位片偏移:第一段 1-5,第二段 1-5空着,从第8位开始,保留分段合成后就能得到源序列数据

第三层:

8位生存时间(TTL)——数据包每经过一个路由器的转发,其数值就减1,当一个数据包的TTL为0时,路由器将不在转发,直接丢弃;

8位协议-------上层所使用的协议类型(TCP/UDP)-----TCP——6、UDP——17;

16位首部校验和--------数据前的头部,包括选项

    • IP分片与TCP分段

MTU——最大传输单元--------默认值1500字节

数据链路层最大接收数据包中字节数为1500,若数据在网络层往下传时所有字节数不超过 1500,则不分片;若超过了1500,则分片(段)再往传给数据链路层

MSS——最大段长度------理论值为1460字节--------但这个值需要协商,这个参数在TCP的SYH 包携带,如果双方不一致,则按照小的执行

配置操作——路由器

GE——代表接口支持千兆的转发速率

Ethernet——代表接口支持百兆的转发速率

注意:千兆口连接千兆楼,百兆口连接百兆口

VRP-------通用路由平台-----华为路由操作系统

IOS-------思科路由操作系统

1.视图

<Huawei>---------用户视图-------该视图下只能进行查看操作,不能进行配置操作

display——查看操作:

display ip interface brief-------查看接口IP地址的摘要信息

display this--------查看做过的配置操作

system-view-------进入系统视图

【Huawei】---------系统视图--------可以进行配置,但是只能进行一些全局类的配置

sysname-------改名指令

2.帮助系统

Tab——可以补全命令;

?——提示参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值