TCP/IP中链路层的附加数据(Trailer数据)和作用

1.TCP/IP中链路层的附加数据是什么

在用wireshark打开报文时,链路层显示的Trailer数据就是附加数据,如图

2.如何产生

1.例如以太网自动对小于64字节大小的报文进行填充(未实验)。

2.使用链路层套接字写数据时,实际数据大小 > (ip头标示报文大小 + 链路层头部)

3.生存周期

4.作用

假设二层交换机下有2个设备A和B

1.增添了一条操作系统与外界通信的额外通道

试想下,怎么在协议不支持的情况下从A设备处获得B设备的系统时间?

在B设备向A设备发数据时(任何协议),把自己的系统时间写到附加数据中,A使用链路层套接字(比如tcpdump使用的套接字)获取链路层数据就可以对

附加数据做解析。

2.控制上层应用程序的行为

应用程序的行为被收到的报文所影响,应用程序收报文的大致流程如下:

网卡收到报文->内核处理->TCP/IP协议栈处理->上层应用

可见内核处理可以对报文进行篡改(例如iptables的mangle),来”欺骗“应用程序。

例如上层应用只对特定ip进行服务,比如1.1.1.1,如果是来自2.2.2.2的请求会被拒绝掉,不改变上层应用

行为的前提下,可以在内核处对报文进行修改,把2.2.2.2修改为1.1.1.1(当然,应用程序发包时内核也要把1.1.1.1修改为2.2.2.2)

而附加数据的作用是为这种报文修改提供策略或依据。

时间: 2024-10-30 02:30:40

TCP/IP中链路层的附加数据(Trailer数据)和作用的相关文章

TCP/IP 卷一 链路层

2.1 链路层目的 1)为IP模块发送和接收IP数据报 2)为ARP模块发送ARP请求和接收ARP应答 3)为RARP发送RARP请求和接收RARP应答 2.2 以太网和IEEE 802封装 802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络.802网络共有的逻辑链路控制(LLC).802.2和802.3定义了一个与以太网不同的帧格式 以太网IP数据报的封装是在RFC 894中定义的,IEEE 802网络的IP数据报封装在RFC 1042中定义. 常用的封

TCP/IP 原理--链路层

链路层作用: (1)为IP模块发送和接收IP数据报: (2)为ARP发送ARP请求和接受ARP应答 (3)为RARP发送RARP请求和接受ARP应答 协议:以太网和SLIP协议 A.以太网协议数据封装格式(帧): 注: 1.目的地址和源地址都是MAC地址(48比特),这一点两者相同 2.在802标准中,2个字节长度表示后续的数据部分的字节长度(不包括CRC).以太网封装格式中的类型字段表示后续数据类型,以表明到底是IP数据报还是ARP/RARP的球球或者应答. 3.在802标准中,接下来是3字节

TCP/IP中最高大上的链路层详解(二)

引言 对于程序猿来讲,似乎越接近底层,就越显得高大上.这也算是程序猿们的共同认知吧,虽然不是所有人.今天LZ就和各位一起探讨一下TCP/IP中最高大上的一层,也就是最底层的链路层. 这一层LZ了解的还不够深刻,但是LZ还没有做硬件的打算,因此LZ觉得只要能够大致明白其原理即可,有的时候太执着了并不是好事,别忘了执着的同义词中有一个叫钻牛角尖. 链路层是什么 这个问题其实很好回答,在上一章LZ就提到过,直观的说,链路层就是我们平时接触的网卡和网卡的驱动程序(当然,也可以指其它的网络接口和驱动,比如

wireshark的使用教程--用实践的方式帮助我们理解TCP/IP中的各个协议是如何工作的

 wireshark的使用教程 --用实践的方式帮助我们理解TCP/IP中的各个协议是如何工作的 wireshark是一款抓包软件,比较易用,在平常可以利用它抓包,分析协议或者监控网络,是一个比较好的工具,因为最近在研究这个,所以就写一下教程,方便大家学习. 这里先说Wireshark的启动界面和抓包界面 启动界面: 抓包界面的启动是 按file下的按钮 之后会出现 这个是网卡的显示,因为我有虚拟机所以会显示虚拟网卡,我们现在抓的是真实网卡上的包所以在以太网卡右边点击start 开始抓包 这个就

已经在TCP/IP中禁用IPv6,为什么邮件头中仍然显示IPv6呢?

有时会出现尽管我们在TCP/IP中禁用了IPV6,但是邮件头中仍然有IPV6地址,如何来解决呢?好的首先如果您的IPv6是在安装完Exchange后才禁止的,那么我们在TCP/IP中禁止,或许有的时候不能奏效.我建议您通过注册表来禁止IPv6,试试是否还会出现问题: a. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters b. 新建DWORD(32-bits)并以"DisabledComponents&q

TCP/IP中的传输层协议TCP、UDP

TCP提供可靠的通信传输,而UDP则常用于让广播和细节控制交给应用的通信传输. 传输层协议根据IP数据报判断最终的接收端应用程序. TCP/IP的众多应用协议大多以客户端/服务端的形式运行.客户端是请求的发起端,而服务端表示提供服务的意思,是请求的处理端.因此,作为服务端的程序有必要提前启动,准备接收客户端的请求.传输协议根据接收数据中的目标端口号识别目标处理程序. TCP.UDP比较 TCP提供可靠性传输.实行顺序控制或重发控制机制,还有流量控制和拥塞控制,提高网络利用率. UDP是不具备可靠

TCP/IP中你不得不知的十大秘密

这段时间 有一点心很浮躁,不过希望自己马上要矫正过来.好好学习编程!这段时间我想好好地研究一下TCP/IP协议和网络传输这块!加油 一.TCP/IP模型 TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议. 基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层.网络层.传输层和应用层.下图表示TCP/IP模型与OSI模型各层的对照关系. TCP/IP协

TCP/IP中的Payload概念以及由此引申出的一些问题

TCP报文一次性最大运输的货物量(Payload),大体可以这么来计算: IP报文头长度  +  TCP报文头长度  +  Payload长度  ≤ MTU 即左边的三者之和,要小于等于右边MTU的长度,其中: Internet 路由器接口标准MTU = 1500 IP报文头长度 = 20 TCP报文头长度 = 20 所以 Payload长度≤ MTU – IP报文头长度 – TCP报文头长度                     ≤ 1500 -20 -20                

TCP/IP中的TIME_WAIT状态

毫无疑问,TCP中有关网络编程最不容易理解的是它的TIME_WAIT状态,TIME_WAIT状态存在于主动关闭socket连接的一方. TIME_WAIT状态存在的理由: TCP/IP协议就是这样设计的,是不可避免的.主要有两个原因: 1)可靠地实现TCP全双工连接的终止 TCP协议在关闭连接的四次握手过程中,最终的ACK是由主动关闭连接的一端(后面统称A端)发出的,如果这个ACK丢失,对方(后面统称B端)将重发出最终的FIN,因此A端必须维护状态信息(TIME_WAIT)允许它重发最终的ACK