TCP/IP报文格式及通讯

目录

1 分层结构

1.1 PHY物理层

1.2 MAC层(LLC逻辑链路层)

1.3 IP层(net网络层)

 1.3.1 IP报路由时MAC变IP不变

 1.3.2 ARP原理

1.3.3 IP报拆分

1.3.4 生存时间

1.3.5 协议种类

 1.3.7 划分子网

1.4 TCP报文、UDP报文

1.5 应用层

2 真实报文交互抓取分析

2.1 TCP/IP交互过程

2.2 UDP报文



1 分层结构

1.1 PHY物理层

      一般由专用PHY芯片实现,与MAC接口用MII,RMII,GMII,RGMII等,对PHY芯片的管理用MDIO接口,可配置、读取PHY的状态。两片互连的PHY可自动协商速率,通过GPIO、reg等指示当前的最大速率,每次上电、复位后协商一次。

1.2 MAC层(LLC逻辑链路层)

1.3 IP层(net网络层)

IP层在路由器中携带报文传递,TCP层不关心传递方式、拆分,只关心有没有送到。

报文头详细说明参考文章《IPV4数据报头部格式_changsoon-优快云博客_ipv4头部

 1.3.1 IP报路由时MAC变IP不变

 

 1.3.2 ARP原理

    经过多级路由器时,先发ARP广播问路,应答报文逐层返回时每一层都记录到自己的路由表,再发数据报文时由每级路由表来指路

    主机、路由器都要维护路由表,可以设置生命周期,到期销毁重新查询。路由器每个端口一个MAC地址。

     ARP询问报文为广播,应答报文一般为单播,在免费ARP时为广播(主机主动发布应答报文更新自己的MAC在其它主机ARP列表中的值,其它主机开启ARP学习功能 )

 

    ARP报文抓取如下:询问、应答-单播、应答-组播(免费ARP)

 

    下段免费ARP的描述出自 《ARP详解》 一文,报文格式详见该文。

免费ARP
       免费ARP指主机发送ARP查找自己的IP地址,通常发生在系统引导期间进行接口配置时。与标准ARP的区别就是免费ARP分组的目的IP地址字段封装的是自己的IP地址,即向所在网络请求自己的MAC地址。
免费ARP的作用有:
  1) 一个主机可以通过它来确定另一个主机是否设置了相同的 IP地址。

   正常情况下发送免费ARP请求不会收到ARP应答,如果收到了一个ARP应答,则说明网络中存在与本机相同的IP地址的主机,发生了地址冲突。

  2)更新其他主机高速缓存中旧的硬件地址信息。

   如果发送免费ARP的主机正好改变了硬件地址,如更换了接口卡。

   其他主机接收到这个ARP请求的时候,发现自己的ARP高速缓存表中存在对应的IP地址,但是MAC地址不匹配,那么就需要利用接收的ARP请求来更新本地的ARP高速缓存表表项。

  3)网关利用免费ARP防止ARP攻击

  有些网关设备在一定的时间间隔内向网络主动发送免费ARP报文,让网络内的其他主机更新ARP表项中的网关MAC地址信息,以达到防止或缓解ARP攻击的效果。

  4)利用免费ARP进行ARP攻击

  ARP协议并不只在发送了ARP请求才接收ARP应答,计算机只要接收到ARP应答数据包,就会使用应答中的IP和MAC地址对本地的ARP缓存进行更新。

  主机可以构造虚假的免费ARP应答,将ARP的源MAC地址设为错误的MAC地址,并把这个虚假的免费ARP应答发送到网络中,那么所有接收到这个免费ARP应答的主机都会更新本地ARP表项中相应IP地址对应的MAC地址。更新成功后,这些主机的数据报文就会被转发到错误的MAC地址,从而实现了ARP欺骗的攻击。

1.3.3 IP报拆分

    TCP发来的数据报如果大于MTU(IP层协议最大报文长度),需要在IP层将其拆分,接收方再将其拼装。拆分报文的标识都复制原标识。偏移以8字节为单位,从0开始算起。

 

1.3.4 生存时间

1.3.5 协议种类

 1.3.7 划分子网

1.4 TCP报文、UDP报文

TCP可靠连接,需要握手、挥手,保证数据可靠收发。

UDP只管发送,不管对方是否收到。适用于实时视频流的传输,

TCP协议详解(一):TCP头部结构_baidu_17611285的博客-优快云博客_tcp头部

1.5 应用层

通过port端口号识别是哪个应用的数据。通过终端软件模拟时,需要端口号一致才能收到数据。

2 真实报文交互抓取分析

    用两台电脑直连,网口调试软件模拟应用程序(一台client,一台server),wireshark抓取报文

2.1 TCP/IP交互过程

3次握手、收发数据、4次挥手。

3次握手过程中先在server中进入半连接队列,完成后进入全连接队列,由accept()从全连接队列取走。

SYN报文攻击时,不响应server,不停发SYN,需要扩大两个队列。

2.2 UDP报文

无连接、不保证收到。适用于ARP等广播报文、ICMP。

参考文献: 

《计算机网络 》-谢希仁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值