传输层
1.1传输层的作用
传输层又叫数据段(其中的数据被分段)
1、源主机和目标主机之间,提供可靠的数据传输和通信服务。
数据分段和重组。发送方:上层应用程序传输的数据包会被进行分段,每个数据都有一个序列号。添加一定的控制信息。
接收方:在传输层把分段的数据重组,形成完整的数据。
2、连接管理:可以建立,维护以及终止源主机和目标主机之间的连接。基于tcp/udp两种协议有两种不同的连接管理方式。
3、可靠性保证:主要面对传输层的tcp协议。可靠性包括:数据分段后的有效传递、数据丢失后的检测以及重传。数据检测和纠错机制,确保传输过程中的数据完整性和可靠性。(tcp是端到端通信,即端口对端口)
4、流量控制
5、拥塞控制
1.2TCP/UDP协议及相关定义
·协议:数据通信过程的规则和约定以及交互方式
·传输层协议:tcp/udp
·tcp当中:包含源端口和目的端口
tcp协议(传输控制协议):面对连接,端口到端口,建立通信。(通信双方建立通信之前,必须要先建立连接 )
进程:执行起来的代码就是进程。
程序:开发写好的代码,未运行,就是程序。
服务:进程提供的特定功能。
进程到进程:两个执行起来的程序进行端口通信。
tcp全双工服务。数据可以在同一时间内双向传输。
tcp发送缓存和接受缓存,用来临时存储数据。
缓存:临时数据
·udp协议(用户数据报协议):无连接。不保证传输可靠性。发送端不关心发送的数据是否能够到达目标主机,数据是否出错也不在考虑范围之内。
收到数据的主机,也就是接收方,也不会告诉发送方是否收到了数据。
可靠性由上层协议进行保证。用户自定义。
·tcp报文的字段:
源端口:发送方的端口号
目的端口:接收方的端口号
stream index:1序列号,索引号。
flag:标志位。--tcp协议用来控制连接的标识符。
URG:紧急位,优先级较高的数据需要立刻通过的时候,才会有紧急位,URG=1。
ACK:确认位 只有ACK=1时,确认的序列号字段有效,ACK=0无效。
Ack:接收方期望收到发送方下一个报文端的第一个字节数据的编号。
接收方希望你发送方下一次发的数据的第一个字节的编号为确认号,确认传输是否正常。
PSH:急迫位,立刻送达应用层PSH=1。
RST:重置位,RST=1,通知重新建立tcp连接。
SYN:同步/连接位。需要建立的第一步,SYN=1.
FIN:断开位,FIN=1,表示要断开连接。
SEQ:报文序号。
WIN:接收缓冲区的空闲空间。
1.3TCP连接的三次握手
·所有的基于TCP协议的通信,第一步都是建立连接。建立连接一定是三次握手。
例:有两台主机 PC1和PC2:
PC1:
SYN=1 表示我希望和PC2建立连接。seq=1(x)客户端发送到服务端,建立连接的请求
PC2:
SYN=1,ACK=1(确认同意建立连接)(Ack=1(x)+1【确认身份,确认你是PC1】)seq=2(y)
PC1:
ACK=1(seq=2 (告诉PC2我是PC1,身份确认),Ack=2(y)+1(确认双方的数据传输)
·为何不需要第四次确认?
两次确认已经分别确定了双方的序列号。已经知道双方是谁,不需要再进行第四次确认。
1.4TCP断开连接的四次挥手
例:两台主机 PC1和PC2:
PC1断开连接:
第一步:
FIN=1 ACK=1 断开,确认
第二步:
PC2:ACK=1 确认是PC1
第三步:
PC2:FIN=1 ACK=1 我要和PC1断开,而且确认
第四步:
PC1:ACK=1 确认,断开
·四次挥手:PC1发送断开连接之后,PC2回复ack确认,这个时候PC1将不再向PC2发送数据。PC2还要继续接收PC1没有处理完的数据。全部收到并且处理完毕之后,PC2才会向PC1发送确认断开。PC1发送ACK,确认断开。
·为什么是四次挥手不是三次?
防止接收方还没有接收完毕另一端发送的数据,直接关闭会导致数据丢失。所以要有等待数据全部接收完毕的过程,然后才能断开连接。以保证数据的完整。
·session:会话管理 60s左右
MSL:数据段的周期生命 120s
time_wait:240s 时长要比数据段的生命周期大,尽可能保证所有收据段都被完整的收发完毕
交换机
2.1交换机工作原理
·交换机:连接终端设备。(工作在以太网的数据链路层)
·交换机工作:数据链路层的代表设备。
·数据链路层:物理地址、网络拓扑的建立、维护,拆除。
把数据封装在数据帧当中,按照顺序传送。
硬件寻址:根据设备的mac地址,进行数据帧转发。
差错校验和恢复:若数据帧有错误,可以通过重传的方式进行修复。
·工作核心:封装数据帧,按照顺序,以mac地址来进行数据帧转发。差错检验。对帧进行校验,保证数据完整。
·以太网地址:设备的mac地址。设备:网卡的地址 mac地址是网卡设备的全球唯一表示。
·mac地址既可以是单个设备,也可以是一组设备。
2.2交换机工作方式
例:两台主机:PC7和PC8
1、初始状态:交换机并不知道有哪些设备跟自己连接(不知道这些mac地址),不知道他们在哪。
2、学习状态:交换机会记录pc8mac地址,然后以泛洪广播的形式,寻找目标的mac地址。
3、接收方回应广播:交换机记住pc7的mac地址,以及端口(和交换机连接的端口)。
4、pc7和pc8单播通信。
5、交换机记录经过的设备的mac地址和端口,保存在mac地址表当中。刷新时间300s,300s后记录消失。
6、下一次数据再来请求或者响应,如果在mac地址表有记录,直接转发。不再泛洪广播。
2.3交换机的功能
1、学习功能:只要数据帧经过交换机,交换机都会记录他们的源mac地址。
2、转发功能:根据mac地址表转发,表里面没有才会泛洪广播。
3、查询功能:泛洪,找不到会用泛洪广播的形式。查找目标的mac地址。
4、刷新功能:交换机默认300s刷新,300s就没了。mac地址表里面所有的记录。
·二层转发:当源ip和目的ip在同一网段时,只需要进行二层转发即可。(就是数据帧转发,就是交换机转发的原理 )
2.4回环地址
回环地址:127.0.0.1
ipv4当中的一个特殊地址,也叫做本地回环地址。
·作用:
1、自我测试,可以不依赖外部的网络。尤其是一些应用程序需要和自身通信时,就可用本地回环地址来进行测试。
2、调试和开发:开发人员可以使用回环地址模拟网络,简化开发调试的环境要求。
2.5交换机基本配置
用户视图:基本操作,查看基本信息(权限受限 只看不能操作)
系统视图:进阶操作,配置 静态路由,动态路由:rip ,ospf,BGP (既能看又能操作)
接口模式:配置ip地址等操作 (配置IP地址 时使用)