从0开始的云计算:传输层协议与交换机

传输层协议

1.传输层也叫数据段

2.在源主机和目标主机之间提供一个可靠的数据传输和通信服务

3.数据分段并重组。

   发送方:上层的应用程序传输的数据会被进行分段,每个数据段都有一个序列号,添加一定           的数据信息。

   接收方:在传输层把分段的重组,形成完整的数据。

4.连接管理:可以建立,维护以及终止源主机和目的主机之间的连接。Tcp udp主流都是tcp

5.可靠性保证:主要针对tcp,数据分段之后的有序传递,数据丢失后的检测以及重传。数据的检测和纠错机制。确保传输过程中的数据的完整性

6.流量控制

7.拥塞控制

传输层的主要作用:

1,数据分段,重组

2,连接管理。(怎么建立连接,怎么断开连接。)

3,tcp是端到端通信,端口对端口,在tcp中包含源端口和目的端口

传输层协议:tcp  udp

协议:数据通信过程中的规则和约定以及交互方式

Tcp协议:

面对连接,端口到端口,建立连接。

程序:开发写好的代码,未运行,就是程序。

进程:执行起来的代码就是进程。

 服务:由进程提供的特定功能。

进程到进程:两个执行起来的程序进行端口通信。

Tcp是全双工服务,数据可以在同一时间内双向传输。

Tcp发送缓存和接收缓存,用来临时存储数据.

缓存:临时数据

Tcp通信双方建立通信之前,必须要先建立连接。

Udp:

用户数据报协议,无连接,不保证传输的可靠性。

发送端:不保证发送的数据是否到达目标主机,数据是否出错也不在考虑范围

接收端:收到数据的主机,也不会告诉发送方是否收到数据。

可靠性由上层协议进行保证,用户自定义。

主流的还是tcp:安全可靠,速度相对较慢udp效率高速度快,不安全

Tcp报文字段:

源端口:发送方的端口号

目的端口:接收方的端口号

Stream index: 1    系列号

Flags:标志位。就是tcp协议用来控制连接的标识符。

UPG:紧急位,优先级较高的数据需要立刻通过的时候才会有紧急位,URG=1

ACK:确认位  只有ACK=1时确认序列号字段才有效,ACK=0无效

Ack:接收方期望收到发送方下一个报文段的第一个字节数据的编号。

接收方希望你发送方下一次发的数据的第一个字节的标号为确认号,确认传输是否正常

PSH:急迫位,立刻送达到应用层PUSH=1。

RST:重置位,当RST=1,通知重新建立tcp连接。

SYN:同步/连接位。需要建立连接的第一步,SYN=1

FIN:断开位,FIN=1时,表示要断开连接

SEQ:报文序号

WIN:接收缓冲区的空闲空间

所有的基于tcp协议的通信,第一步都是建立连接。建立连接的过程一定是三次握手。

三次握手与四次挥手

tcp三次握手

PC1                                                                PC2

第一步发送建立连接的请求

SYN=1表示我希望和pc2建立连接.seq=1      SYN=1,ACK=1同意建立连接(Ack=1+1

                                                                       seq=2

ACK=1(seq=2身份确认,ACK=2+1确认       

双方的数据传输)

客户端到服务端:

第一步客户端发送到服务器,建立连接请求

客户端:SYN=1

服务端:SYN=1 ACK=1

客户端:ACK=1

为什么不需要第四次确认:两次确认已经分别确定了双方的序列号,已经知道双方是谁,不需要在进行第四次确认了

tcp四次挥手:

pc1和pc2

pc1断开连接

第一步:

FIN=1 ACK=1

断开  确认

第二步

Pc2:ACK=1确认是pc1

第三步(目的:确认没有数据需要接收)

Pc2:FIN=1 ACK=1我要和pc1断开,而且确认

第四步

Pc1:ACK=1,确认断开

四次挥手:

pc1发送断开1连接之后,pc2回复ACK确认,这个时候pc1将不再向pc2发送数据。Pc2还要接收pc1没有处理完的数据。全部收到,处理完毕之后,pc2才会向pc1发送确认断开。Pc1发送ACK,确认断开。Tcp半关闭

为什么时四次挥手不是三次挥手:防止另一端发送的数据还没有接收完毕,直接关闭会导致数据丢失,等所有的数据全部接收完毕,才能断开连接,以保证数据的完整。

第四次挥手后会进入TIME-WAIT状态

1.确保网络中所有的分段已经全部传送完毕,避免印象后续的连接

2.如果重新建立连接,就不需要打开新的进程,直接使用之前的连接进程

3.MSL(Maximum Segment Lifetime):tcp连接进程,可以在网络中存活的最长时间。超过这个时间,tcp的连接进程将会被丢弃,时间是120s

4.TIME-WAIT时间通常是240s

交换机:

连接终端设备

交换机工作在数据链路层

数据链路层:物理地址以及网络拓扑的建立,维护,拆除,

组帧(把数据封装在数据帧当中,按照顺序传送)

硬件寻址(根据设备的mac地址,进行数据帧转发。)

差错校验和恢复(数据帧错误。可以通过重传的方式进行恢复)

交换机的核心:封装数据帧,按照顺序,以mac地址来进行数据帧转发。差错校验,对帧进行校验,保证数据完整。

以太网地址就是设备的mac地址。

设备:网卡的地址。Mac地址是网卡设备的全球唯一标识

Mac地址既可以是单个设备,也可以是一组设备。

Bit:计算机的最小单位

1B=8bit

1Kb=1024B

交换机:

连接多个终端设备,其他网络设备无法提供很多端口供设备直连,所以需要交换机。

工作方式:

1.初始状态:交换机不知道有哪些设备与我相连(mac地址)

2.学习状态:交换机会记录pc8的mac地址,然后以泛洪广播的形式寻找目标mac地址

3.接收方回应广播,交换机记住pc7的mac地址以及端口号(与交换机连接的端口)

4.Pc7和pc8单播通信

5.交换机会记录经过设备的mac地址和端口,保存在mac地址表中,刷新时间300s,后记录消失

6.下次数据再来请求或响应,如果在mac表有记录就直接转发,不再泛洪广播

交换机的4大功能:

学习功能,数据帧经过交换机,交换机都会记录他们的源mac地址

转发功能,根据mac地址表转发,表里没有才会泛洪广播

查询功能,找不到会用泛洪广播的形式,找查目标的mac地址

刷新功能,交换机默认300s刷新,300s就没了,mac地址表的所有记录都没了

二层转发:数据链路层转发(同一网段之间)

当源ip和目的ip在同一网段时,只需要进行二层转发即可

三层准发:网络层转发

回环地址:127.0.0.1

Ipv4当中的一个特殊地址,也叫本地回环地址

作用:

1.自我测试,可以不依赖外部网络环境。尤其一些应用程序需要和自身通信时,就可以用本地回环地址进行测试

2.调试和开发:开发人员可以使用回环地址模拟网络,简化开发调试的环境要求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值