传输层协议
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.调试和开发:开发人员可以使用回环地址模拟网络,简化开发调试的环境要求。