欢迎您访问我爱IT技术网,今天小编为你分享的电脑教程是网络协议方面的经验知识教程:运行于以太网的基础协议,下面是详细的分享!
运行于以太网的基础协议
运行于以太网的基础协议
1、引言
前段时间编写了一个网络监听工具。为了分析抓到的数据包,要熟悉各种网络协议。本人痛苦的发现网上很少有集中讲解这方面的文章,而图书大部分讲解得不够仔细,小部分专门研究网络协议的图书又太大,不适合我们的要求。故把常用的以太网协议写出来和大家分享。
2、以太网的特点
以太网采用的是CSMA/CD技术,即带碰撞检测的载波侦听多址访问。在CSMA/CD技术中,如果网络上没有数据,则任何时候都可以将数据传送出去。如果网络被使用,那就要等到网络空闲时再传送。在以太网中传输的数据是无选择的发送到所有网卡的。
3、以太网数据包
在以太网中,数据是以被称为帧的数据结构体为单位进行交换的。
在以太网桢的报头中包含接收端及发送端的地址,桢的报文部分包含的是数据种类。最后放置的是错去校验和修正码。通常我们抓到的数据包已经去掉了同步码和桢分界符。下面先给出报头部分的定义:
以太网桢报头格式 接收端MAC地址(48位)发送端MAC地址(48位)类型字段(16位)
注意:这里提到的是位,一位就是二进制数据中的一位。通常,一个字节是由8位组成的。
类型字段意义(参考RFC1700) 类型(十六进制)协议0800IP0806ARP8035 RARP809B Appletalk8137-8138 Novell814C SNMP
4、IP数据报的构成
当以太网数据桢的类型字段为十六进制0800时,表示以太桢报文部分是一个IP数据报。报头部分存储了版本、头长度、生存时间、接收和发送端IP地址等重要信息。
IP数据报报头定义 字段位数说明版本4表示IP的版本。现目前的版本号为4报头长度4表示报头的长以32位为一个单位服务类型8优先级和可靠性等服务品质要求的数值数据报长度16IP数据报的全部长度,以8位(字节)为单位标识16识别IP数据报的编号标志3标示有无碎块数据块偏移13产生碎块时应该比达到的数据块早到的数据块大小生存时间8存放控制IP数据报寿命长短的数值协议8标示上层协议报头校验码16检查报头错误用的校验码发送端地址32发送端的IP地址目的地地址32接收端的IP地址
5、TCP协议
传输控制协议(TCP)是在传输层使用的协议。当IP数据报的协议字段的值为6时,表示本IP数据报的报文部分是TCP数据报。
TCP数据报头定义 字短名 长度(位)意 义发送端端口 16 发送端及客户夫端程序的端口号接收端端口16 接收端及服务器端程序得端口号顺序号 32标示消息段的数据位于全体数据块的眸字节的数值确认号32表示接受端对于发送端接收到的数据块数值数据偏移 4报头长,以32位为一个单位预留 6扩展用(预留)控制位 6表示某字段意义的位窗口 16窗口的大小(一次可以发送的数据量)校验码16错误检查用紧急数据指针 16插入信号等紧急数据的结束位置选项和填充 32选相等
6、UDP数据报
当IP数据报的协议字段的值等于17,表示IP数据报的报文部分携带的是UDP数据报。下面是UDP数据报头的构造。
UDP数据报 发送端端口(16位)接收端端口(16位)数据报长度(16位)校验码(16位)数据
以上就是关于运行于以太网的基础协议的网络协议知识分享,更多电脑教程请移步到>>电脑教程。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
