• TCP/IP协议栈 -----链路层


    这节说一下链路层和ARP RARP协议

    链路层: 在协议栈中链路层的目的有三个:1. 为IP模块发送或接受数据包 2.为ARP模块发送或接受ARP请求 3. 为RARP模块发送或接受RARP请求。
    让我们看一下最常用的以太网链路层封装格式
    这里写图片描述

    这里可以看到以太网协议头部有类型字段 来表明是IP 还是 ARP RARP数据包,尾部还有CRC校验码。

    环回接口:localhost 127类的地址,一个传给环回接口的数据包不能再网络中出现,一旦传输层检测到目的端地址是环回地址时,应该可以省略部分传输层和所有网络层的逻辑操作。但是大多数的产品还是照样完成传输层和网络层的所有过程,只是当I P数据报离开网络层时把它返回给自己。
    这里写图片描述
    抓包看一下

    machine:~/Desktop$ ping 192.168.1.3
    PING 192.168.1.3 (192.168.1.3) 56(84) bytes of data.
    64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.083 ms
    64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.087 ms
    
    --- 192.168.1.3 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 2998ms
    rtt min/avg/max/mdev = 0.039/0.062/0.087/0.024 ms
    machine:~/Desktop$ ping 127.127.0.166
    PING 127.127.0.166 (127.127.0.166) 56(84) bytes of data.
    64 bytes from 127.127.0.166: icmp_seq=1 ttl=64 time=0.039 ms
    64 bytes from 127.127.0.166: icmp_seq=2 ttl=64 time=0.087 ms
    
    --- 127.127.0.166 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 2998ms
    rtt min/avg/max/mdev = 0.039/0.065/0.092/0.024 ms
    
    machine:/home/# tcpdump -i lo -n -vv dst host 127.127.0.166
    tcpdump: listening on lo, link-type EN10MB (Ethernet), capture size 65535 bytes
    12:48:25.733216 IP (tos 0x0, ttl 64, id 26614, offset 0, flags [DF], proto ICMP (1), length 84)
        127.0.0.1 > 127.127.0.166: ICMP echo request, id 2676, seq 1, length 64

    127类地址都是localhost本身,ping 主机自己的IP时也可以收到回环接口,广播的话也能接收到。127类地址主要用于测试一下协议和应用层服务器。
    以太网和8 0 2 . 3对数据帧的长度都有一个限制,其最大值分别是
    1 5 0 0和1 4 9 2字节。链路层的这个特性称作M T U,最大传输单元。不同类型的网络大多数都有一个上限。如果I P层有一个数据报要传,而且数据的长度比链路层的 M T U还大,那么 I P层就需要进行分片( f r a g m e n t a t i o n) ,把数据报分成若干片,这样每一片都小于 M T U。

  • 相关阅读:
    【server】瞎写
    【windows c++ 笔记】随笔
    【VScode】使用VScode来写markdown ② 流程图
    【VScode】使用VScode 来写markdown ① 时序图
    【windows c++ 笔记】 正则表达
    【sublime text】中文乱码问题解决过程
    【vue3】从0搭建Vue3项目
    【git】设置VScode为默认查看差异工具
    【lua实战摸索】C API&auxiliary library 使用笔记
    【vue3】监控响应: reactive/watch/watchEffect/provide.inject/computed
  • 原文地址:https://www.cnblogs.com/MaAce/p/7755703.html
Copyright © 2020-2023  润新知