目录
一、传输层协议
1.1、传输层的作用
源主机和目标主机之间,提供可靠的数据传输和通信服务
数据分段和重组,发送方:上层应用程序传输的数据包会被进行分段,每个数据段都有一个序列号,添加一定的控制信息
接受方:在传输层把分段的重组,形成完整的数据
连接管理:可以建立,维护以及终止源主机和目的主机之间的连接,tcp udp,主流都是tcp
可靠性保证:tcp,数据分段后的有序传递,数据丢失后检测以及重传,数据的检测和纠错机制,确保传输过程中的数据完整性和可靠性
传输层的主要作用:
1、数据分段,重组
2、连接管理(怎么建立,怎么断开连接)
3、tcp是端到端通信,端口对端口
tcp当中:包含源端口和目的端口
1.2、传输层协议
tcp协议(传输控制协议) :面对连接,端口到端口,建立通信
程序:开发写好的代码,未运行,就是程序
进程:执行起来的代码就是进程
服务:进程提供的特定功能
进程到进程:两个执行起来的程序进行端口通信,
tcp全双工服务,数据可以在同一时间内双向传输
tcp发送缓存和接受缓存,用来临时存储数据
缓存:临时数据
tcp:通信双方建立通信之前,必须要先建立连接
udp协议(用户数据报协议):无连接,不保证传输可靠性,发送端不关心发送的数据是否能够到达目标主机,数据是否出错,也不再考虑范围之内
收到数据的主机,也及时接受方,他也不会告诉发送方我是否收到了数据
可靠性由上层协议进行保证,用户自定义
区别:
tcp:安全,可靠,速度慢
udp:效率高,不安全,速度快
协议: 数据通信过程的安全规则和约定,以及交互方式
1.3、tcp报文字段
源端口:发送方的端口号
目的端口:接受方的端口号
flags:标志位(tcp协议用来控制连接的标识符)
URG:紧急位(优先级较高的数据需要立刻通过的时候,才会有紧急位,URG=1)
ACK:确认位(只有ACk=1时,确认序列号的字段才有效,ACK=0 无效)
Ack:接收方期望收到发送方下一个报文端的第一个字节数据的编号
接受方希望你发送方下一次发的数据第一个字节的编号为确认号,确认传是否正常
PSH:急迫位(立刻送达应用层 PSH=1)
RST:重置位(PST=1,通知重新建立tcp连接)
SYN:同步/连接位(需要建立的第一步,SYN=1)
FIN:断开位(FIN=1,表示要断开连接)
SEQ:报文序号
WIN:接受缓存区的空闲空间
1.4、三次握手
第一步:pc1发送建立连接的请求(SYN=1表示我希望和PC2建立,seq=1)
pc2
第二步:SYN=1,ACK= 1 确认同意建立连接(Ack=1+1确认身份,确认你是pc1)seq=2
pc1
ACK=1(seq= 2(告诉pc2我是pc1,身份确认),Ack=2+1(确认双方的数据传输))
客户端到服务端
第一步:客户端发送到服务器,建立连接的请求
客户端:SYN=1
服务端:SYN=1 ACK=1
客户端:ACK=1
1.5、tcp四次挥手
pc1 pc2
断开连接:
pc1:FIN=1 ACK=1 断开 确认
pc2:ACK=1 确认是pc1
tcp半关闭
pc2:FIN=1 ACK=1,我要和pc1断开,而且确认
pc1:ACK=1 确认,断开
四次挥手:pc1 发送断开连接之后,pc2回复ack确认,这个时候pc1将不再向pc2发送数据,pc2还要接收pc1没有处理完的数据,全部收到,处理完毕之后,pc2才会向pc1发送确认断开,pc1发送ACK,确认断开
为什么是四次挥手不是三次挥手:防止另一端发送的数据,接受方还没有接收完毕,直接关闭,会导致数据丢失,所有要有等待数据全部接受完毕的过程,然后才能断开连接,以保证数据的完整
TIME_WAIT作用
1、确保网络中所有的分段已经全部传送完毕,避免影响后续的连接
2、如果重新建立连接,就不需要再一次打开新的进程,直接使用之前的连接进程
3、MSL(Maxinum Segment Lifetime):tcp连接进程,可以在网络中存活的最长时间,超过这个时间(120秒),tcp连接进程将会被丢弃
MSL:数据段的生命周期 120秒(时间限定)
time_wait:240秒
TTL:数据包的生命周期,128 64 (经过路由器)
二、交换机
交换机:连接终端设备
交换机工作:数据链路层的代表
数据链路层(作用):物理地址,网络拓扑的建立,维护,拆除
把数据封装在数据帧当中,按照顺序传送
硬件寻址:根据设备的Mac地址,进行数据帧转发
差错检验和恢复:数据帧有错误,可以通过重传的方式进行修复
交换机工作的核心:封装数据帧,按照顺序,以mac地址来进行数据帧转发,差错校验,对帧进行校验,保证数据完整
以太网地址:设备的Mac地址。设备:网卡的地址,Mac地址是网卡设备的全球唯一标识
Mac地址既可以是单个设备,也可以是一组设备
交换机设备:华为,神州数码,锐捷,cisco
交换机的工作方式:连接多个终端设备,其他网络设备额无法提供很多端口供设备直连,所有需要交换机
工作方式:
1、初始状态:交换机并不知道有哪些设备跟我连接(Mac地址),不知道他们在哪
2、学习状态:交换机会记录pc8Mac地址,然后以泛洪广播的形式,寻找目标的Mac地址
3、接收方回应广播,交换机记住pc7的Mac地址,以及端口(和交换机连的端口)
4、pc7和pc8单播通信
5、交换机记录经过设备的Mac地址和端口,保存在Mac地址表,刷新时间300秒,300秒记录消失
6、下次数据再来请求或者响应,如果在Mac地址有记录,直接转发,不再泛洪广播
交换机的四大功能:
1、学习功能,数据帧交换机,交换机都会记录他们的源Mac地址
2、转发功能:根据Mac地址表转发,表里面没有才会泛洪广播,广播找不到直接丢弃
3、查询功能:泛洪,找不到会用泛洪广播的形式,查找目标的Mac地址
4、刷新功能:交换机默认300秒刷新,300秒就没了,Mac地址表里面所有的记录