计算机网络网络层

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网络请求封装

计算机网络3.1 运输层概述 与 多路复用/分解

计算机网络——应用层-Web&HTTP

201555332盛照宗—网络对抗实验1—逆向与bof基础

tensorflow中卷积层输出特征尺寸计算和padding参数解析

C++搭建集群聊天室:网络层代码与业务层代码(登录注册)解耦