TCP/IP协议族

本文详细介绍了TCP/IP网络模型中的地址解析协议ARP,以及TCP的序号、确认机制、三次握手与四次挥手过程。同时对比了TCP(面向连接,提供错误重传和拥塞控制)与UDP(无连接,适合实时应用)的特点。
摘要由CSDN通过智能技术生成

TCP/IP网络模型

在这里插入图片描述

ARP

地址解析协议(Address Resolution Protocol)是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求,广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。
在这里插入图片描述

TCP

在这里插入图片描述

  • 序号(seq): 占四个字节,表示发送的数据字节流
  • 确认号:占四个字节,发送方期待接收的下一序号,只有ACK>=1时才有效
  • ACK:确认序号的标志,ACK>=1表示确认号有效,ACK=0表示报文不含确认号信息
  • SYN:连接请求序号标志,用于建立连接,SYN=1表示请求连接
  • FIN:结束标志,用于释放连接,FIN=1表示关闭本方数据流

假设当前报文序号为101,且当前报文长度为200字节,那么下一个报文的序号应为301
TCP首部其长度最小可达到20字节,最长为60字节
UDP首部是4个字段(原端口,目标端口,长度,检验和),每个字段2字节,共8字节

三次握手与四次挥手

在这里插入图片描述

  1. Client发送一个连接请求的报文(SYN seq=x), Client此时状态为SYN_SENT
  2. Server收到Client连接请求报文之后对报文进行确认,并向Client发送报文(SYN seq=y ACK=x+1),Server此时的状态为SYN_RCVD
  3. Client收到Server的报文之后再次向Server发送报文(ACK=y+1),此时Client与Server的状态都为ESTABLISHED

若在握手过程中因为其他因素导致并未完成三次握手,Client会认为请求失效而重新发起一个请求并最终完成握手。
一段时间之后第一次请求滞留的报文到达Server,Server会误以为是一个新的请求从而响应Client并等待Client的回应,但Client收到请求之后发现请求已经超时便会忽略,这会导致Server一直等待Client的回应,从而造成资源浪费

在这里插入图片描述

  1. Client发送一个中断连接请求(FIN seq=x+2 ACK=y+1),此时Client状态为FIN_WAIT
  2. 此时Server可能会有数据没有发送完毕,因此先向Client发送一个ACK报文(ACK=x+3)表明收到FIN报文并继续发送剩余内容,此时Server的状态为CLOSE_WAIT
  3. 当Server确定数据已经发送完毕则向Client发送FIN报文(FIN seq=y+1),此时Server的状态为LAST_ACK
  4. Client收到FIN报文后向Server发送ACK报文(ACK=y+2),此时Client进入TIME_WAIT状态,如果Server没收到ACK报文则可以重传,如果Server收到ACK报文即可关闭连接。Client等待2MSL之后依然没有回复则证明Server已经正常关闭,Client也关闭连接

MSL(Maximum Segment Lifetime): MSL是一个固定的值,2MSL通常为2分钟。

TCP和UDP

  • TCP:面向连接(需要确定双方已经连接)的数据报服务,会进行错误重传和拥塞控制,适用于可靠性高的场景
    • 仅支持单播
  • UDP:面向无连接的数据报服务,实现简单,适用于实时性高的场景
    • 支持单播,多播,广播
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值