计算机网络基础

Posted 可能再无晚安

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络基础相关的知识,希望对你有一定的参考价值。

IP数据包格式

网络层功能

  1. 定义基于IP协议的逻辑地址,可以更改。
  2. 连接不一样的媒体类型。
  3. 选择数据通过网络的最好途径。

    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的主要功能

    1. 确认IP包是否成功到达目标地址
    2. 通知在发送过程中IP包被丢弃的原因

      ICMP协议报文格式

      ICMP(Internet Control Message Protocol)因特网控制报文协议。它是IPv4协议族中的一个子协议,用于IP主机、路由器之间传递控制消息。控制消息是在网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然不传输用户数据,但是对于用户数据的传递起着重要的作用。
      ICMP协议与ARP协议不同,ICMP靠IP协议来完成任务,所以ICMP报文中要封装IP头部。它与传输层协议(如TCP和UDP)的目的不同,一般不用来在端系统之间传送数据,不被用户网络程序直接使用,除了想Ping和Tracert这样的诊断程序。

以上是关于计算机网络基础的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

[vscode]--HTML代码片段(基础版,reactvuejquery)

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销

视频二次裁剪时间计算出原片的时间片段算法

视频二次裁剪时间计算出原片的时间片段算法

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础