网络层的协议有 ARP ,IP ,ICMP,IGMP等协议。协议的本质为处理数据分组的程序。
ARP协议为地址解析协议,在以太网中用来获取本网络中的MAC地址。
ICMP协议为回送请求协议,用来报告IP分组传输过程中遇到的错误或超时
IP协议对应的协议字段为:0x01表示ICMP ,0x02 IGMP,0x04 IPv4, 0x06 TCP , 0x08 EGP ,0x09 IGP
0X17 UDP ,41 IPv6 ,50 ESP,89 OSPF
ARP协议数据包结构:
Hardeware : Ethernet (1) 2 byte (硬件类型)
Protocal Type: IP (0x0800) 2 byte (协议类型)
Hardeware size: 6 1 byte (Mac地址长度)
Protocal size: 4 1 byte (上层协议长度)
opcode 1(request) 1 byte (操作类型)
sender IP ip address 4 byte
sender Mac mac address 6 byte
target IP ip address 4 byte
target Mac 0x0000000 6 byte
IP协议
type: ipv4 (1 byte) server: null(1 byte) total size: (2 byte)
sequeue: (2 byte) flag (1 byte) offset: (1 byte)
type: udp(1 byte) TTL:(1 byte) head checksum (2 byte)
source ip (4 byte)
destination (4 byte)
type字段表示使用的协议类型是ipv4还是ipv6,server字段没有意义,total size字段表示整个ip分组的大小
sequeue字段表示该分组的编号,主要是用来区分同一个分组的不同分片。
flag字段为标志字段,用来表示是否分片,offset表示分片的偏移量。type表示上层协议的类型
head checksum字段为首部检验和。
ICMP协议数据结构:
type: 08 (1 byte) code: 0 (1 byte)
checksum : (2 byte)
type字段用来确定ICMP包的作用,0x08表示请求,0x00表示回送,0x03表示终点不可达,0x04表示源点抑制 0x011表示时间超时。
ICMP在IP数据包传输过程产生错误时,会将错误的IP分组的首部和IP数据包的数据字段前8个字节的数据封装成数据发送给客户端。
IP地址分为五类地址:
A类(1~126), net-id 数为 126(2^7-1),主机数为16777214台,
B类(128.1~191.255),net-id数为 16383 (2^14-1),host-id数为65534
C类(192.0.1~223.255.255),net-id数为2097151(2^21-1),host-id数为254,
D类前四位为1110其他位为多播地址。
E类地址前四位为1111保留至今后使用。
A类地址第一位规定为0开始 B类地址前两位规定为10 C类地址前三位规定为110。
127.0.0.1(非全1或非全0)表示本机地址。
net-id 全1 host-id 全1 表示本网络广播
net-id 不变,host-id全1 表示net-id网络广播
net-id 全0 host-id 全0 表示本网络上的本主机
无地址间域分类法: