计算机网络网络层
Posted WeaterMr
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络网络层相关的知识,希望对你有一定的参考价值。
概念
- 网络层是
OSI参考模型中的第三层
,介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据从源端经过若干个中间节点传送到目标端,向运输层提供端到端的数据传送服务
。 - 网络层向上只提供简单灵活的、无连接的,尽最大努力交付的数据包服务。
- 网络层数据包(IP数据包,Packet)由首部、数据2部分组成
数据,很多时候是由传输层传递下来的数据段(Segment) - 网络层的IP协议配套使用的还有三个协议
1) 地址解析协议ARP
(Address Resolution Protocol)
2) 网际控制报文协议ICMP
(Internet Control Message Protocol)
3) 网际组管理协议IGMP
(Internet Group Management Protocol)
网络层首部
版本
(Version) -占4位 -0b0100:IPv4 -0b0110:IPv6首部长度
(Header Length) --占4位,二进制乘以4才是最终长度 ,最小值:0b0101:20 最大值:0b1111:60区分服务
(Differentiated Services Field),占8位可以用于提高网络的服务质量(QoS,Quality of Service)
总长度
(Total Length),占16位–首部 + 数据的长度之和,最大值是65535- 由于帧的数据不能超过1500字节,所以过大的IP数据包,需要分成片(fragments)传输给数据链路层 ,每一片都有自己的网络层首部(IP首部)
片偏移
(Fragment Offset) --占13位,片偏移乘以8:字节偏移,每一片的长度一定是8的整数倍
- ping ke.qq.com -l 4000
生存时间
(Time To Live,TTL)–占8位,每个路由器在转发之前会将TTL减1,一旦发现TTL减为0,路由器会返回错误报告 ,观察使用ping命令后的TTL,能够推测出对方的操作系统、中间经过了多少个路由器
协议
(Protocol)–占8位 ,表明所封装的数据是使用了什么协议首部校验和
(Header Checksum),用于检查首部是否有错误
地址解析协议ARP
通过目标设备的IP地址,查询目标设备的MAC
地址,以保证通信的顺利进行。
在发送数据时,数据从高层到低层传输。IP
数包给数据链路层,就被封装成了MAC
帧。MAC
帧在传送时使用的源地址和目的地址都是硬件地址。连接在通信链路上的设备(主机或路由器)在接收MAC
帧时,根据是MAC
帧首部的硬件地址。在数据链路层看不到隐藏在MAC
帧中的IP地址。只有在剥去MAC
帧的首部和尾部后把MAC
层的数据交给网络层后,网络层才能在IP数据报的首部中找到源IP地址和目的IP地址。
网际控制报文协议 ICMP
1、作用为了提高 IP 数据报交付成功的机会
2、ICMP
报文作为 IP
层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去;
以上是关于计算机网络网络层的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段14——Vue的axios网络请求封装