计算机网络基础
Posted 可能再无晚安
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络基础相关的知识,希望对你有一定的参考价值。
IP数据包格式
网络层功能
- 定义基于IP协议的逻辑地址,可以更改。
- 连接不一样的媒体类型。
- 选择数据通过网络的最好途径。
IP协议头部格式
::: hljs-center
:::
- 版本:占 4 位,表示 IP 协议的版本。通信双方使用的 IP 协议版本必须一致。目前广泛使用的IP协议版本号为 4,即 IPv4。
- 首部长度:指的是IP包头长度,4bit。
- 服务类型:占 8 位,用于区别什么数据包优先级高,什么数据优先级低。
- 总长度:首部和数据之和,单位为字节。总长度字段为 16 位。
- 标识:占 16 位。主要为了目的主机组装分段时判断新到的报文分段属于哪个分组,所有属于同一分组的报文分段都包含相同的标识。
- 标记:长度为3位,从前到后分别是保留位,不可分段位和分段位。
- 分段偏移:标记该分段在数据报的位置,单位是8个字节,第一个分段的偏移是 0。
- 生命期:表示数据报在网络中的寿命,占 8 位。该字段由发出数据报的源主机设置。其目的是防止无法交付的数据报无限制地在网络中传输,从而消耗网络资源。
- 协议:长度为8位,标识上层所使用的协议。
- 头部校验和:长度为16位,首部检验和只对IP数据包首部进行校验,不包含数据部分。数据包每经过一个中间节点都要重新计算首部校验和,对首都进行检验。
- 源地址:表示数据报的源 IP 地址,占 32 位。
- 目的地址:表示数据报的目的 IP 地址,占 32 位。该字段用于校验发送是否正确。
- 可选项:该字段用于一些可选的报头设置,主要用于测试、调试和安全的目的。
ARP协议
什么是ARP协议
ARP(地址解析协议)是用于根据给定网络层地址,通常是IPv4地址,查找其对应的数据链路层地址,如MAC地址的协议。
ARP协议在TCP/IP协议栈中的位置
由于IP协议中使用了ARP协议,因此通常将ARP协议归为网络层协议。
但ARP协议的用途是从网络层使用的IP地址中解析出在数据链路层使用的硬件地。其消息由数据链路层协议封装,他是在同一局域网内部通信的,从不跨网络节点路由。因此,也可以认为ARP协议是数据链路层协议。ARP工作原理
- PC1想发送数据给PC2,会先检查自己的ARP缓存表。
- 如果发现要查找的MAC地址不在表中,就会发送一个ARP请求广播,用于发现目的地的 MAC地址。
ARP请求消息中包括PC1的IP地址和MAC地址以及PC2的IP地址和目的MAC地址(此时为广播MAC地址FF-FF-FF-FF-FF-FF)。 - 交换机收到广播后做泛洪处理,除PC1外所有主机收到ARP请求消息,PC2以单播方式发送ARP应答,并在自己的ARP表中缓存PC1的 IP 地址和 MAC 地址的对应关系,而其他主机则丢弃这个ARP请求消息。
- PC1在自己的 ARP表中添加 PC2的 IP 地址和 MAC地址的对应关系,以单播方式与PC2通信。
windows系统中ARP命令
arp -a ###查看ARP缓存表 arp -d [IP] ###清除ARP缓存 arp -s IP MAC ###ARP静态绑定
如提示ARP项添加失败,解决方案:
- 用管理员模式:电脑左下角“开始”按钮右键,点击“Windows PowerShell(管理员)(A)” 或者 进入C盘windows\\system32文件夹找到cmd.exe,右键“以管理员身份运行” 再执行arp -s命令
- (1)netsh interface ipv4 show neighbors 或者netsh i i show in <查看网卡接口序号/Idx>
(2)netsh interface ipv4 set neighbors <接口序号> <IP> <MAC>
解除静态绑定
netsh -c i i delete neighbors \'Idx\'
注:动态学习到的ARP的老化时间是120s,并且静态绑定的ARP条目在计算机关机或重启后会消失。华为系统中的ARP命令
[Huawei]dis mac-address ###查看mac 地址信息 [Huawei]arp static <IP> <MAC> ###绑定ARP [Huawei]undo arp static <IP> <MAC> ###解绑定 <Huawei>reset arp all ###清除mac地址表
ICMP协议
什么是ICMP协议
ICMP,全称“Internet Control Message Protocol”,意思是“网络控制报文协议”。这个协议是属于网络层的协议。
ICMP的主要功能
- 确认IP包是否成功到达目标地址
- 通知在发送过程中IP包被丢弃的原因
ICMP协议报文格式
ICMP(Internet Control Message Protocol)因特网控制报文协议。它是IPv4协议族中的一个子协议,用于IP主机、路由器之间传递控制消息。控制消息是在网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然不传输用户数据,但是对于用户数据的传递起着重要的作用。
ICMP协议与ARP协议不同,ICMP靠IP协议来完成任务,所以ICMP报文中要封装IP头部。它与传输层协议(如TCP和UDP)的目的不同,一般不用来在端系统之间传送数据,不被用户网络程序直接使用,除了想Ping和Tracert这样的诊断程序。
以上是关于计算机网络基础的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段14——Vue的axios网络请求封装