admin 管理员组

文章数量: 887017

文章目录

  • 1.IP协议
    • 1.1 IP协议报头
      • IP如何将报头和有效载荷分离?
      • IP如何有效载荷交给上层的谁?
      • MTU对IP协议的影响
      • MTU对UDP协议的影响
      • MTU对TCP协议的影响
    • 1.2 网段划分
      • 为什么要划分网段?
      • 为什么要先找到目标网络?
      • 私有IP地址和公网IP地址
        • NAT技术
        • NAPT技术
  • 2.路由

1.IP协议

  我们在对网络分层的了解上知道IP实际上是为路由找方向属于网络层协议,比如说唐僧去西天取经IP地址就是西天,MAC地址则是下一个目的地的地址,比如说唐僧到了女儿国,国王说你下一站应该去火焰山,女儿国国王为什么知道唐僧的下一站是火焰山,就是根据IP地址判断的。
  IP提供了一种能力,可以将数据从A主机跨网络送到B主机,但是有能力一定会做到吗?

苗苗有能力考100分,那么她每次考试都是100分吗?
当然不是啦,但是即使苗苗考了98分,我们也不能说她没有能力考100分
可是如果非要让她考100分呢?
我们普通学生没有能力让她重新考试,但是学校的领导可以啊,学校的领导可以让考试反复进行,直到苗苗考100分

所以说,能力只是决定了将该事情办成的几率大,并不确定一定能完成。要想IP一定将数据从主机A跨网络传送到主机B,它的上层也就是TCP可以控制它,如果传送失败,反复传送 ,直到传送到为止。

假设你在北京有个朋友,想要来你的学校看你,问你怎么走?
你会告诉他直接坐飞机到你的学校吗…
除非你的学校有飞机场
你当然会告诉他,你先到哪个城市,然后转什么什么交通工具…

对应到网络中,要想将数据从主机A传送到主机B,就必须先到主机B所在的网络。唐僧想去西天取经,就必须先到西天,然后在西天找相应的地方,并不是佛祖就在西天的入口等他。
IP地址 = 网络号+主机号 路由器就是根据网络号找下一个地址的方向。

1.1 IP协议报头

  • 4位版本号(version) 指定的是IP协议的版本 IP协议分为IPv4和IPv6 IPv4为4字节,IPv6 16字节
  • 8位服务类型 3位优先权字段(已经弃用),4位TOS字段和1位保留字段(必须置为0),4位TOS分别表示:最小延时、最大吞吐量、最高可靠性、最小成本,这四者相互冲突,只能选择一个。
  • 8位生存时间(Time To Live TTL) 数据报到达目的地的最大报文跳数,一般是64,每次经过一个路由,TTL -= 1,一直减到0还没有到达,就将此报文丢弃,这个字段主要是用来防止出现路由循环。
  • 32为源IP地址和32位目的IP地址 表示发送端和接收端

IP如何将报头和有效载荷分离?

4位首部长度 和TCP报头中的4位首部长度一样,代表的是IP报头的长度是多少个4字节,4位比特位能够表示的最大数字是15,即IP头部的最大长度是15*4 = 60字节
16位总长度 指的是IP数据报整体占多少个字节

IP如何有效载荷交给上层的谁?

8位协议 表示上层的协议类型

MTU对IP协议的影响

数据链路层MAC针的最大传送单元MTU为1500字节,所以对于较大的IP数据包要进行分包。

就像是我们寄一个重20公斤的快递,但是顺丰快递的极限是五公斤,我们就必须分四次进行发送,所以IP有一个重要的功能分片,对方收到数据后,由于分片收到的数据是不完整的。所以IP还必须有一个组装功能
假设顺丰的丢包率是2%,我们分四次进行传送,对方收到完整包的概率就为:98%*98%*98%*98% 可见分片后丢包的几率就大了,我们还是尽量应该不分片的好。

本文标签: 协议 报头 网段 路由 过程