• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
gddzkw
博客园    首页    新随笔    联系   管理    订阅  订阅
网络连接的核心——TCP/IP体系结构

 一、网络连接的核心

前言:前面提到了互联网可以看作很多个局域网组成的一个大型网络,那么不同局域网之间主机是如何通信的呢?发送的文字会转换成什么形式呢?数据报文在网络层是什么样的结构呢?那么这些不得不来学习一下IP数据报的格式。

1、IP数据报文的格式

IP协议从传输层收到的数据添加IP首部之后,得到IP数据报文的两级结构:首部(固定部分+可变部分)+数据。固定部分共20字节,是所有IP数据报必须有的。

2025-10-30:1

  1. 版本信息占4bit,指IP协议的版本。所谓的兼容就是通信双方要使用相同版本的协议,目前广泛使用的是IPv4、IPv6。
  2. 首部长度占4bit,可表示的最大十进制数值是 15(1111)。这个字段所表示数的单位是 32 位字长(1 个 32 位字长是 4 字节)。当 IP 的首部长度为 1111 时,首部长度就达到 60 字节。当 IP 分组的首部长度不是 4 字节的整数倍时,必须利用最后的填充字段加以填充。
  3. 区分服务占8bit,主要用来获取更好的服务。
  4. 总长度占16bit,指首部和数据之和的长度。单位为字节。因此数据报的最大长度为216=65536字节,但IP层下面的每种数据链路层协议都规定了一个数据帧中的数据字段最大长度,即最大传输单元(MTU)。简答理解就是,一个IP数据报封装成帧时,此数据报的总长度不能超过该帧的最大传输单元(MTU)。以太网规定:IP数据报的最大值是1500字节。
  5. 标识占16bit,简单理解就是一个计数器,在IP数据报超过MTU而必须分片传输时,标识字段的值就会被赋值到所有数据报分组的标识字段中。主要用于分片后的各数据分组最后能够正确的重组回原来的数据报。
  6. 标志占3bit,标志字段最低位记为MF(More Fragment)。MF=1表示后面还有分片。MF=0表示该数据分片已是最后一个分片。标志字段中间的一位记为DF(don't Fragment)。只有当DF=0时,才允许分片。
  7. 片偏移占13bit,主要用于记录分片在该数据报文当中的相对位置。片偏移以8个字节为偏移单位。
  8. 生存时间(TTL)占8bit,表面数据报文在路由器中转发的次数,其目的是为防止无法交付的数据报无限制的在互联网中兜圈子。简单理解就是防止报文在路由器的传输过程中死循环导致网络开销增大。
  9. 协议占8bit,主要是用于指出此数据报文携带的数据的上一层使用了何种协议,以便使目的主机IP层知道应将数据部分上交给哪个协议进行处理。常用的协议和相应的协议字段值如下:
常用的协议和相应的协议字段值
协议名 ICMP IGMP IP TCP EGP IGP UDP IPv6 ESP OSPF
协议字段值 1 2 4 6 8 9 17 41 50 89

 

【注】值得区分的是,协议字段标识的是传输层协议类型,而端口号用于标识应用进程。

  10.首部校验和占16bit,这个字段只检验数据报的首部,但不包含数据部分。因此网络层(如IP协议)是不可靠传输,尽最大努力交付,不保证数据包一定送达、顺序以及数据完整。为减少计算校验的工作量,IP首部的校验和不采用复杂的CRC检验码,而采用二进制反码运算。一旦出错,IP层不提供纠错功能,直接将此数据报文丢弃。

  【简单理解:每次上网数据报文在互联网上的量很大,为减少网络开销,因此网络层核心职责是寻址与路由,不对传输过程中的丢包、乱序或损坏进行修复。】

  【寻址:负责数据报文能够在网络中正确到达目的地。路由:每个数据报文在面对不同网络时如何选择最短路径到达目的地。】

2、数据报文路径选择【路由协议】

  通过上述了解到,数据报文在网络内传输,需要选择最短路径。从而引出各种路由协议。计算机网络是一个网状结构,两个主机之间要想通信,可能会存在多个路径,那么如何选择一个最“好”的路径就是一个设计重点。因此就需要一种算法来获取两个计算机之间的路径。

  1.根据路由算法能否随网络的通信量或拓扑自适应地进行调整变价来划分,路由算法有两大类,即静态路由选择策略与动态路由选择策略。 

  

  优势 劣势 应用场景
静态路由选择策略 主机之间都有固定的线路【可以理解为人为配置路线】,简单、开销小 提前设置好的路线,不能够自适应网络状态的变化 适用于小网络
动态路由选择策略 主机之间没有固定的路线,实现难度较大、开销大 可以更好的自适应网络状态的变化 适用于大型网络

   

 

  由于因特网的规模宏大,让所有路由知道所有的网络应该怎样到达,这种路由表将会非常大。处理起来消耗的时间也是巨大的。这样做的话也会存在一个弊端,就是不同公司的主机进行通信,路由器之间都会交换信息。因此会导致公司内部商业机密的泄漏隐患。因此设计出分层的路由选择协议。在公司内部每个路由器都会实时交换信息,但公司于公司之间的通信则会通过一个特定的路由进行信息的交换。为此,可以把整个因特网划分为许多较小的自治系统(Autonomous System,AS)

  2、根据自治系统和分层次的方法来划分路由协议,可以分为两大类,即内部网关协议于外部网关协议。

  功能 路由选择协议
内部网关协议(Interior Gateway Protocol,IGP) 在一个自治系统内部使用路由选择协议,而这与在互联网中的其他自治系统内部选择的路由协议无关 路由信息协议(RIP)、开发最短路径优先协议(OSPF)
外部网关协议(External Gatrway protocol,EGP) 若源主机和目的主机处在不同的自治系统中,数据报传到一个自治系统的边界时,通过特定的路由,将数据包传输到另一个自治系统中 边界网关协议(BGP)

为了对路径进行表达,引入了路由表的概念:

  【路由表:是网络设备中存储的一个核心数据库,记录了各种网络的路径信息,知道数据报文如何从当前路由转发到下一个路由或其最终目的地。路由表包含以下关键信息:目的网络地址、子网掩码、下一跳IP地址、转发接口等命令。路由器会遵循最长子网掩码匹配原则选择最优路由】

  【路由器遵循最长子网掩码匹配原则:由于网络使用的是CIDR编址,一个CIDR块可以表示很多地址,这种地址的聚合称为路由聚合,也称为超网。简单理解:把对一个物体的诸多描述名称表示成一个统称。在数据报文查找路由表找寻下一跳路由时,可能会匹配多个结果,因此需要选择具有最长网络前缀的路由。网络前缀越长,得到的路由就越具体。】

  3、路由信息协议(RIP)

  工作原理:RIP是一种基于距离向量的分布式路由选择协议。RIP要求网络中的每个路由器都要维护从自己到每个目的网络的距离记录。RIP的“距离”也称为“跳数”,每经过一个路由器,跳数就+1,因此,距离短就是好的路径。RIP只允许一条路径最多只能包含15个路由器,因此“跳数”等于16时即不可达状态。

 

路由信息协议
协议 位置 所在层次 下层协议 原理 RIP几个要点
RIP(Routing Information Protocol) AS域内 应用层 UDP 距离向量的分布式选择协议

1、仅和相邻路由器交换信息

2、路由器交换的信息是当前路由器全部的信息

3、按固定时间间隔交换路由信息

4、RIP只会选择跳数较少的路径为最短路径,即使还存在一条路由器较多但低时延的路径

5、RIP限制了网络规模,他能使用的最大距离为15(跳数16为不可达)

6、随着网络的规模扩大,开销也将增加,如出现网络故障往往需要较长的时间才能实现收敛

  RIP距离向量算法:当本路由器收到相邻路由器的一个RIP报文时,若相邻路由器的目的网络不在本路由器的路由表中,则把该目的网络添加到路由表中。否则,若下一跳字段给出的路由器地址是相同的,则把相邻路由器的目的网络替换原到原路由器的路由表中。否则,若收到目的网络中的距离小于本路由器路由表中的距离,则进行更新。否则什么也不变。

  4、开发最短路径优先协议(OSPF)

  工作原理:OSPF是一种基于分布式的链路状态协议(Link State Protocol)。“最短路径优先”是使用了Dijkstra算法(迪克斯特拉算法)

  后续补充...

开放最短路径优先协议
协议 位置 所在层次 下层协议 原理 OSPF几个要点
OSPF AS域内 网络层 IP 分布式的链路状态协议

1、使用泛洪法向本自治系统中的所有路由器发送信息(一传十、十传百的效应)

2、发送的信息是与本路由器相邻的所有路由器的链路状态(链路状态只是部分信息)

3、只有当链路状态发生变化时,路由器才用泛洪法向所有路由器发送此信息

4、OSPF的链路状态数据库能较快地进行更新,更新过程收敛的快且无环路由

5、OSPF规定每隔一段时间,要刷新一次数据库中的链路状态

6、每个路由器的链路状态只涉及与相邻路由器的连通状态,因此与整个互联网的规模无直接关系

7、多路径负载均衡(如果代价相同的路径有多条,那么可以将通信量分配给这几条路径)

8、支持区域划分

  5、边界网关协议(BGP)

  工作原理:每个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP发言人”(一般选择BGP边界路由器),一个BGP发言人要与其他自治系统的BGP发言人交换路由信息,就要先建立TCP连接,然后在连接的基础上交换BGP报文来建立BGP会话,利用BGP会话交换路由信息。

  后续补充...

边界网关协议
协议 位置 所在层次 下层协议 原理 BGP几个要点
BGP AS域间 应用层 TCP 路径向量路由选择协议

1、在AS间建立TCP连接,实现可靠传输,但BGP本身不负责可靠传输

2、后续更新....

posted on 2026-01-14 21:51  又菜又爱玩丶  阅读(2)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3