一、TCP
1.TCP的建立---经过三次握手
由TCP连接发起方PC1发送第一个SYN置位为1的TCP报文,a是随机生成的数,没有收到PC2的确认报文确认序列号是0。
PC2接收到PC1的TCP报文后发送一个SYN置位为1,b为随机生成数的TCP报文回复PC1,因为这个报文是回复PC1的所以确认序列号为a+1.
PC1接收到PC2的SYN置位报文后,回复一个ACK置位的报文,序列号为a+1,确认序列号为b+1.
PC2收到报文后双方连接建立成功
每个报文就是确实序列号Ack给序列号Seq+1,去确认序列号(序列号随机生成)的过程
2.TCP的断开---四次挥手
PC1发送FIN置位为1的报文请求断开连接释放资源
PC2收到PC1的FIN置位的报文,回复一个ACK置位的报文。并再发送一个PIN置位为1的FIN报文去关闭连接
PC1收到PC2的ACK置位报文和FIN置位报文,回复一个ACK置位的报文。
双方断开连接
就是PC1去和PC2请求断开,PC2确认并发送断开报文,PC1发送确认报文,双方断开连接
二、地址解析协议(ARP)
1.ARP运行再数据链路层,根据已指知的ip地址解析获得其对应的MAC地址。
2.维护IP地和MAC地址的映射表(ARP表),实现网段内重复IP地址的检测。
3.ARP缓存表的存在时间为180s,过了有效期会进行删除。
4.ARP的工作原理(有实验)
- 发送端在发送数据前会先检查ARP缓存表,如果表中存在对方的MAC地址,则使用该MAC地址去封装发送数据帧,如果表中不存在对方的MAC地址,则通过ARP Request(请求)来获得。
- 发送端通过ARP请求报文获取接收端的的MAC地址,但是发送端不知道接收端的MAC,使用发送端的ARP Request报文的MAC地址为全1。ARP Request报文是广播数据帧,因此交换机在接收到ARP请求报文时,执行泛洪操作。
- 所以主机在接收到ARP的请求报文后,对报文的目的IP地址与自身IP地址是否匹配,如果匹配,则将ARP Request报文中发送端的MAC地址和IP地址添加到自己的ARP缓存表中。
- 接收端发送ARP Reply报文来响应发送端的请求。这个时候接收端知道请求端的MAC地址,所以ARP Reply是单播数据帧
- 交换机收到单播帧之后会执行转发操作
- 发送端接收到ARP Reply后会检查报文的目的IP地址和自身IP地址是否匹配。如果匹配会将ARP Reply报文中的源IPMAC地址和IP地址添加到自身的ARP缓存表中。
三、数据的传输和封装
1.发送端数据的封装
2.接收端数据的解封装
FCS:是帧校验序列
3.中间网络传输
在交换机时只经过物理层和数据链路层,普通交换机没有三层网络只有二层网络。
在经过路由器时有网络层,路由器有三层网络。