02_常见网络层协议的头结构

本文主要介绍了网络层和传输层的多个协议。详细阐述了ARP报文结构、协议简介及工作流程,还对IP协议各字段进行解析,介绍其设计目的和分片重组原理。此外,提及ICMP差错报文,以及UDP、TCP协议特点,包括TCP的三次握手、四次挥手和报文结构。

1.ARP报文的报文结构

ARP首部的5个字段的含义:

硬件类型:值为1表示以太网MAC地址。

协议类型:表示要映射的协议地址类型,0x0800 表示映射为IP地址。

硬件地址长度:在以太网ARP的请求和应答中都是6,表示MAC地址长度。

协议地址长度:在以太网ARP请求和应答中都是4,表示IP地址长度。

在ARP协议包中,保留出硬件地址长度字段和协议地址长度字段可以使ARP协议在任何网络中被使用,而不局限于以太网中。

op: ARP数据包的类型,ARP请求设置为1,ARP应答设置为2。

备注:虽然ARP和IP协议都属于网络层的协议,但是从分层的结构来看,ARP处于网络层的最底层

而IP层属于网络层的顶层。

1.1 ARP协议的简介

ARP全称为Address Resolution Protocol(地址解析协议),是根据IP地址来获取物理地址的一个TCP/IP协议。

主机发送消息时将包含目标IP地址的ARP请求广播到局域网上的所有主句,并接收返回消息,来确定目标的MAC地址。收到返回消息后将该IP地址和MAC地址存入本机ARP缓存中并保留一段时间,下次请求时直接查询ARP缓存来节约资源。

局域网中的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其存入本机的ARP缓存中。

ARP协议是通过目标设备的IP地址,来获得目标设备的MAC地址,来保证通信的顺利进行。

1.2 ARP协议的工作流程

主机A发送数据之前先判断主机A的ARP的缓存表中是否包含主机B的MAC地址,如果没有,主机A把要发送的数据挂起并发送一个ARP请求包,发送完成后等待主机B的应答包到来,到来之后把挂起的数据包添加以太网首部发送至主机B中。

2.IP协议

各个字段的解析如下:

版本:指IP协议的版本,IPv4和IPv6。

首部长度: 单位使字长(4个字节),最常用的首部长度是20个字节(即首部长度为0101)。

区分服务:实际上一直没有被使用过。

总长度:首部和数据之和的长度。最大65534字节。

标识:每产生一个数据报,计数器就加1,并将此值赋给标识字段。

标志:占3位只有2位有意义,最低位为MF,MF=1表示后面还有分片的数据报。

MF=0表示这是若干数据报片中的最后一个。

标志字段的中间一位,DF(Don't Fragment) 不能分片。DF=0时,才允许分片。

片偏移:占 13 位片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也
就是说,相对用户数据字段的起点,该片从何处开始。片偏移以 8 个字节为偏移单位。这就是
说,除了最后一个分片,每个分片的长度一定是 8 字节(64 位)的整数倍。
生存时间:
协议:
部校验和:
源地址:
目的地址:
数据区域:

2.1 IP协议的简介

IP是Interneet Protocol的缩写,是网络层的协议。设计IP的目的是提高网络的可扩展性:一是解决互联网问题,实现大规模、异构网络的互联互通;二是分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。

根据端对端的设计原则,IP只为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务。

为了能适应异构网络,IP强调适应性、简洁性和可操作性,并在可靠性上做了一定的牺牲。

重点是IP数据报的分片与重组原理。

3. ICMP协议

ICMPInternet Control Message ProtocolInternet 控制报文协议。它是 TCP/IP 协议簇的
一个子协议,用于在 IP 主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是
否可达、路由是否可用等网络本身的消息,这些控制消息虽然并不传输到用户数据,但是对于
用户数据的传递起着重要的作用。
ICMP协议时一种面向无连接的协议,用于传输出错报告控制信息。也是属于网络层协议。
主要用于:主机与路由器之间传递控制信息,包括报告错误、交换寿险控制和状态信息等。
当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。

1.ICMP差错报文

(1) 目的站不可到达

当路由器发送的数据报不能发送到指定目的地时,或者说当路由器不能够给数据报找到路
由或主机不能够交付数据报时,就丢弃这个数据报,然后向发送数据报的源主机设备发回一个
终点不可达数据报文。如下图所示:

4. UDP协议

 UDP协议是TCP/IP协议栈的传输层协议,是一个简单的面向数据报的协议。

UDP不属于连接型协议,因而资源消耗小,处理速度快,通常在音频、视频和普通数据传输时使用UDP较多。

UDP报文的封装流程图:

5.TCP协议

TCP(Transmission Control Protocol 传输控制协议) 是一种面向连接的、可靠的、基于字节流的传输层通信协议。

5.1 TCP的三次握手

 5

5.2 TCP的四次挥手

 

5.3 TCP的报文结构

 

TCP数据报在IP层的封装如下:

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值