计算机网络(二)网络层IP层

  • Post author:
  • Post category:其他




1 引入原因

数据链路层传输问题:由于交换机路由器的数据链路层表是【MAC地址,转发硬件接口】,所以无法传入跨路由器或者交换机的数据,所以还需要继续向上抽象——网络层;



2 IP数据报

在这里插入图片描述

  • 版本号:4位,IPv4或IPv6;
  • 首部长度:4位,单位是“32位”,就是我这个IP数据报的首部是多少个32位,最大(2^4-1)×32位=15

    4

    8位=60字节;
  • 服务类型:过程字段、延迟字段、流量字段、可靠性字段等等,不关心;
  • 总长度:IP数据报的总长度,最大长度为65535字节,由于数据链路层最长1500个字节,所以如果一个IP数据包超长了,就需要对其进行分片;
  • 标识:每一个IP封包都有一个16位的唯一识别码,超长分片组合的时候用;
  • 标志位:能否分片,标识分片相关;
  • 片偏移:分片后重组时候需要按照顺序来拼接;
  • 生存时间(Time To Live,TTL):生存时间字段设置了数据报可以经过的最多路由器数,表示数据包在网络上生存多久。每经过路由器就减一,为0就丢弃;避免无限传输;
  • 协议:表明数据是按照什么协议编码的,TCP、UDP、ICMP、IGMP、OSPF、IP(可以封装IP数据报);
  • 首部校验和:校验首部是否出错;
  • 源IP地址:32位;
  • 目的地址:32位;
  • 选项(Options)+填充(Padding):这两个选项较少使用,只有某些特殊的封包需要特定的控制才会利用到。共32位。这些选项通常包括:安全和处理限制、记录路径、时间戳、宽松的源;
  • 数据:按照协议字段定义的数据内容;



3 ARP协议

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。沟通IP层和数据链路层。

路由器ARP缓存表需要维护一张地址表【IP地址,MAC地址】;

当路由器转发IP数据查表发现没有MAC地址时,向直连的网络设备广播“某某的IP地址是多少?”匹配的设备回复数据报,携带自己的IP地址和MAC地址。



4 子网划分



4.1 私有IP

  • A: 10.0.0.0~10.255.255.255 即10.0.0.0/8
  • B:172.16.0.0~172.31.255.255即172.16.0.0/12
  • C:192.168.0.0~192.168.255.255 即192.168.0.0/16

私有IP数据包不会转发到公网上去;



4.2 划分

  • 一般使用会将IP地址分为网络号+主机号,用子网掩码来处理;
  • 主机号全0,表示当前网络段,不可以分配特定主机;
  • 主机号全1,表示广播,不可以分配特定主机;
  • 全0的网络号表示特殊网络;
  • 127.0.0.1 通常被用作本地回环地址,测试本地网络;



5 NAT

NAT(Network Address Translation,网络地址转换),多个主机通过一个公有IP访问公网资源;

多个私有地址访问互联网资源时,安装有NAT服务的路由器会自动转换自己的源地址为公网的,当接收到数据包时,自己又重新封装成私有的进行转发到私有网络;



6 ICMP

ICMP(Internet Control Message Protocol)Internet控制报文协议。

ICMP协议可以报告错误信息或者异常情况;ICMP报文是封装在IP数据报的数据部分;

  • Ping应用:测试IP连通性;
  • traceroute 应用:数据包走的路径;



7 路由表相关



7.1 路由表

计算机和路由器需要维护一个路由表:【目的IP地址,下一跳IP地址】;



7.2 内部网关协议RIP协议

每一个节点使用两个向量D和S,D描述当前节点到别的节点的距离,S描述当前节点到别的节点的下一个节点;RIP协议就是每一个节点都维护这样的一个向量,就得到了路由表;



7.3 内部网关协议OSPF协议

OSPF(Open Shortest Path First开放式最短路径优先);核心是使用迪杰斯特拉算法求最短路径;



7.4 外部网关协议BGP协议

边界网关协议(BGP)是运行于 TCP 上的一种自治系统的路由协议。互联网规模太大了,如果还是使用内部网关协议,那么数据量和计算量将会是巨大的。BGP不要求找到最好的一条路由,能找到比较好的一条路由即可;



8 总结

一个路由器需要维护三个表:

  • IP层,路由表【目的ip地址,下一条地址】:通过内外网关协议来实现;
  • IP层,地址映射表【直连的IP地址,直连的MAC地址】:通过ARP协议来实现;
  • 数据链路层,【MAC地址,转发物理端口】通过广播来实现;



版权声明:本文为weixin_44215363原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。