数据链路层
数据链路层分为MAC和LLC,MAC是寻址用的,LLC是差错及流量控制用的
1.HDLC:(面向比特)
标志|地址|控制|信 息|帧检验序列|标志
比特: 8 | 8 | 8 |可 变| 16 | 8
缩写: F | A | C| Info | FCS | F
2.PPP:(面向字符)
标志|地址|控制|协议|信 息|帧检验序列|标志
比特: 8 | 8 | 8 |16 |可 变 | 16 | 8
缩写: F | A | C |协议 | Info | FCS | F
注:PPP信息字段不超过1500字节;地址字段 A 只置为 0xFF。地址字段实际上并不起什么作用;控制字段 C 通常置为 0x03;PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节(因为它不是面向比特的)。
3. Ethernet数据帧:
3.1 DIX Ethernet V2 :
前序 |目的地址|源地址|类型|数据 |FCS
字节:8 | 6 | 6 | 2 |46~1500| 4
3.2 IEEE 的 802.3 /802.2LLC
前序 |帧起始界定符|目的地址|源地址|长度|DSAP|SSAP|控制|数据 |FCS
字节:7 | 1 | 6 | 6 | 2 | 1 | 1 | 1 |43~1497| 4
4.SDLC:
标志 |地址 |控制 |信 息|帧检验序列|标志
比特: 8 | 8~16| 8 ~16|可 变 | 16 | 8
缩写: F | A | C | Info | FCS | F
5.LAPB:
标志 |地址 |控制 |信 息|帧检验序列|标志
比特: 8 | 8 | 8 ~16|可 变 | 16 | 8
缩写: F | A | C | Info | FCS | F
6.LAPD:(与LPAB一样适用于ISDN)
标志 |地址 |控制 |信 息|帧检验序列|标志
比特: 8 | 8 | 8 |可 变 | 16 | 8
7.LAPF:(用于帧中继)
标志 |地址 |控制 |信 息|帧检验序列|标志
比特: 8 | 8 | 8 |可 变 | 16 | 8
缩写: F | A | C | Info | FCS | F
8.帧中继:
标志 |地址 |信 息|帧检验序列|标志
比特: 8 | 16 |可 变 | 16 | 8
缩写: F | A | Info | FCS | F
网络层
enum nl_prototype
{
NLType_IPV4 =1,//0x0800
NLType_ARP =2,//0x0806
NLType_RARP =4,//0x8035
NLType_ETHERTALK =8,//0x809B
NLType_PPP =9,//0x880B
NLType_PPPoEDS=10,//0x8863
NLType_PPPoESS=11,//0x8864
NLType_SNMP =14,//0x814C
NLType_IPV6 =64 //0x86DD
NLType_OTHER =1000,//unknow
}
运输层
enum
{
IPPROTO_IP = 0, /* Dummy protocol for TCP. */
#define IPPROTO_IP IPPROTO_IP
IPPROTO_HOPOPTS = 0, /* IPv6 Hop-by-Hop options. */
#define IPPROTO_HOPOPTS IPPROTO_HOPOPTS
IPPROTO_ICMP = 1, /* Internet Control Message Protocol. */
#define IPPROTO_ICMP IPPROTO_ICMP
IPPROTO_IGMP = 2, /* Internet Group Management Protocol. */
#define IPPROTO_IGMP IPPROTO_IGMP
IPPROTO_IPIP = 4, /* IPIP tunnels (older KA9Q tunnels use 94). */
#define IPPROTO_IPIP IPPROTO_IPIP
IPPROTO_TCP = 6, /* Transmission Control Protocol. */
#define IPPROTO_TCP IPPROTO_TCP
IPPROTO_EGP = 8, /* Exterior Gateway Protocol. */
#define IPPROTO_EGP IPPROTO_EGP
IPPROTO_PUP = 12, /* PUP protocol. */
#define IPPROTO_PUP IPPROTO_PUP
IPPROTO_UDP = 17, /* User Datagram Protocol. */
#define IPPROTO_UDP IPPROTO_UDP
IPPROTO_IDP = 22, /* XNS IDP protocol. */
#define IPPROTO_IDP IPPROTO_IDP
IPPROTO_TP = 29, /* SO Transport Protocol Class 4. */
#define IPPROTO_TP IPPROTO_TP
IPPROTO_IPV6 = 41, /* IPv6 header. */
#define IPPROTO_IPV6 IPPROTO_IPV6
IPPROTO_ROUTING = 43, /* IPv6 routing header. */
#define IPPROTO_ROUTING IPPROTO_ROUTING
IPPROTO_FRAGMENT = 44, /* IPv6 fragmentation header. */
#define IPPROTO_FRAGMENT IPPROTO_FRAGMENT
IPPROTO_RSVP = 46, /* Reservation Protocol. */
#define IPPROTO_RSVP IPPROTO_RSVP
IPPROTO_GRE = 47, /* General Routing Encapsulation. */
#define IPPROTO_GRE IPPROTO_GRE
IPPROTO_ESP = 50, /* encapsulating security payload. */
#define IPPROTO_ESP IPPROTO_ESP
IPPROTO_AH = 51, /* authentication header. */
#define IPPROTO_AH IPPROTO_AH
IPPROTO_ICMPV6 = 58, /* ICMPv6. */
#define IPPROTO_ICMPV6 IPPROTO_ICMPV6
IPPROTO_NONE = 59, /* IPv6 no next header. */
#define IPPROTO_NONE IPPROTO_NONE
IPPROTO_DSTOPTS = 60, /* IPv6 destination options. */
#define IPPROTO_DSTOPTS IPPROTO_DSTOPTS
IPPROTO_MTP = 92, /* Multicast Transport Protocol. */
#define IPPROTO_MTP IPPROTO_MTP
IPPROTO_ENCAP = 98, /* Encapsulation Header. */
#define IPPROTO_ENCAP IPPROTO_ENCAP
IPPROTO_PIM = 103, /* Protocol Independent Multicast. */
#define IPPROTO_PIM IPPROTO_PIM
IPPROTO_COMP = 108, /* Compression Header Protocol. */
#define IPPROTO_COMP IPPROTO_COMP
IPPROTO_SCTP = 132, /* Stream Control Transmission Protocol. */
#define IPPROTO_SCTP IPPROTO_SCTP
IPPROTO_RAW = 255, /* Raw IP packets. */
#define IPPROTO_RAW IPPROTO_RAW
IPPROTO_MAX
};
来自linux下的include <netinet/in.h>
分享到:
相关推荐
它汇集了网络协议号、名称、以及对应的功能描述,使网络开发和管理变得更加高效和规范。同时,它也记录了网络技术的发展轨迹,让后来者能够从中汲取历史经验,展望未来网络技术的发展方向。无论你是网络协议的初学者...
【Ethereal】是一款强大的网络协议分析工具,常用于计算机网络的故障排查、协议学习和网络安全分析。本实验旨在教授如何正确安装和使用Ethereal,以便分析网络中的各种协议,加深对协议格式、协议层次以及协议交互...
### 网络协议分析实验指导书知识点梳理 #### 一、网络协议分析实验环境要求 **1.1 实验目的** - **了解基本原理**:掌握计算机网络中数据传输的基本原理。 - **理解协议结构**:深入理解计算机网络协议的层次结构...
### 网络协议分析期末总结 #### 第一章:基础概念 1. **TCP四层模型与OSI七层模型之间的对应关系及其各层功能** - **TCP/IP四层模型**: - **应用层**:为应用程序提供网络服务。 - **传输层**:负责端到端的...
计算机网络实验三网络协议分析软件Ethereal.doc 本实验的主要目的是学习正确安装和配置网络协议分析软件Ethereal,并学会使用Ethereal分析各种网络协议,以加深对协议格式、协议层次和协议交互过程的理解。 实验...
《网络协议源码——探索Aloha协议》 在计算机网络的世界里,各种协议构成了通信的基础,其中Aloha协议是最早的随机访问介质访问控制协议之一。本文将深入探讨Aloha协议的源码,通过分析`aloha.java`、`Alohathread....
预分配协议号是指在系统启动时就已经分配好的、固定的协议编号,通常用于广泛使用或基础的网络协议。这些编号在协议设计初期就已被确定,并且在标准文档中固定下来,以免在后续的通信中产生混淆。预分配协议号的管理...
实验3主要目标是熟悉Wireshark或Ethereal网络协议分析器的使用,验证协议数据包格式,并学习捕捉和分析不同类型的网络数据包。实验涵盖了多个网络协议的基础知识,包括ARP、ICMP、TCP三次握手、FTP工作流程以及WWW...
标题中提到的“网络协议802.3-2005”,实际上指的是以太网(Ethernet)通信协议的一种标准,它是由电子电气工程师学会(Institute of Electrical and Electronics Engineers, IEEE)制定的一系列标准中的一个。...
在IT领域,网络协议是确保数据在网络中正确传输的关键组件。本章主要聚焦于网络协议中的IP地址配置,这是互联网通信的基础。IP地址是互联网上每个设备的独特标识,相当于网络世界的邮政地址。让我们深入探讨一下相关...
Linux TCP/IP协议源码是操作系统...深入研究Linux TCP/IP协议源码有助于开发者优化网络应用程序、排查网络问题、理解网络协议的工作原理,甚至参与内核开发。对于网络编程爱好者和系统工程师而言,这是一个宝贵的资源。
在计算机网络领域,TCP(Transmission Control Protocol)协议是互联网上应用最为广泛的一种传输层协议,它为应用程序提供了面向连接的、可靠的数据传输服务。在这个基于TCP协议的文件传输简单实现的课程设计中,...
在应用层,UDS提供了一套服务编号,每个编号对应一种特定的诊断操作。 UDS协议在网络层的应用,使得诊断服务可以在多个ECU之间透明地进行。例如,通过CAN网络,一个ECU可以发起诊断请求,其他ECU则根据请求内容做出...
“实验1使用网络协议分析仪Wireshark” Wireshark 是一款功能强大的网络协议分析工具,可以对网络协议进行捕获、分析和显示。通过本实验,我们将学习如何安装和配置 Wireshark,掌握使用 Wireshark 分析网络协议的...
IP协议定义了多种协议编号,这些编号对应不同的网络协议,例如: - 1表示ICMP(Internet Control Message Protocol,互联网控制消息协议),用于网络诊断和错误报告。 - 6表示TCP(Transmission Control Protocol,...
停等协议(Stop-and-Wait Protocol)是一种简单但基础的错误控制协议,广泛应用于计算机网络中的数据传输。在本课程设计中,我们将深入探讨停等协议的原理,并通过实际编程来实现这一机制。 停等协议的基本思想是每...
访问表有标准和扩展之分,对应不同的编号范围,如IP的标准访问表编号为1到99,扩展访问表为100到199。 创建**IP标准访问表**,可以使用如下命令: ```text Access-list access list number {permit | deny} source ...
14229是UDS协议在ISO标准中的编号,它定义了一套用于检测、修复和编程车载电子系统的标准接口。这份资料"UDS_14229协议中英文"显然包含了UDS协议的中文和英文版本,对于理解和实施汽车诊断至关重要。 UDS协议基于...