IPv4

  • 一、路由器工作原理
  • 二、IPv4数据报格式
  • 三、IPv4数据分片
  • 四、IPv4编址
    • 1.无类别域间路由选择(Classless Inlerdomain Routing,CIDR)
    • 2.分类编址
  • 五、动态主机配置协议(DHCP)
  • 六、网络地址转换(NAT)

一、路由器工作原理


•输入端口。
输入端口(input port)执行几项重要功能。它在路由器中执行终结入物
理链路的物理层功能,这显示在图4・4中输入端口部分最左侧的方框与输出端口部
分最右侧的方框中。它还要与位于入链路远端的数据链路层交互来执行数据链路层
功能,这显示在输入与输出端口部分中间的方框中。
•交换结构
交换结构将路由器的输入端口连接到它的输岀端口。这种交换结构完全包含在路由器之中,即它是一个网络路由器中的网络!
•输出端口。
输出端口存储从交换结构接收的分组,并通过执行必要的链路层和物理
层功能在输出链路上传输这些分组。当一条链路是双向的时(即承载两个方向的流
量),输出端口通常与该链路的输入端口成对出现在同一线路卡上。
•路由选择处理器。
路由选择处理器执行控制平面功能。在传统的路由器中,它执行
路由选择协议(我们将在5. 3节和5. 4节学习),维护路由选择表与关联链路状态
信息,并为该路由器计算转发表。在SDN路由器中,路由选择处理器(在其他活
动中)负责与远程控制器通信,目的是接收由远程控制器计算的转发表项,并在该
路由器的输入端口安装这些表项。路由选择处理器还执行网络管理功能,我们将在

二、IPv4数据报格式


•版本(号)。
这4比特规定了数据报的IP协议版本。通过查看版本号,路由器能
够确定如何解释IP数据报的剩余部分。不同的IP版本使用不同的数据报格式。
IPv4的数据报格式
•首部长度。
因为一个IPv4数据报可包含一些可变数量的选项(这些选项包括在
IPv4数据报首部中),故需要用这4比特来确定1P数据报中载荷(例如在这个数
据报中被封装的运输层报文段)实际开始的地方。大多数IP数据报不包含选项,
所以一般的IP数据报具有20字节的首部。
•服务类型。
服务类型(TOS)比特包含在IPv4首部中,以便使不同类型的IP数
据报(例如,一些特别要求低时延、高吞吐量或可靠性的数据报)能相互区别
开来。例如,将实时数据报(如用于IP电话应用)与非实时流量(如FTP)区
分开也许是有用的。提供特定等级的服务是一个由网络管理员对路由器确定和
配置的策略问题。
•数据报长度。
这是IP数据报的总长度(首部加上数据),以字节计。因为该字
段长为16比特,所以IP数据报的理论最大长度为65 535字节。然而,数据报
很少有超过1500字节的,该长度使得IP数据报能容纳最大长度以太网帧的载荷字段。
•标识、标志、片偏移。
这三个字段与所谓IP分片有关,这是一个我们将很快要考
虑的主题。有趣的是,新版本的IP (即IPv6)不允许在路由器上对分组分片。
•寿命。
寿命(Time To Live, TTL)字段用来确保数据报不会永远(如由于长时间
的路由选择环路)在网络中循环。每当一台路由器处理数据报时,该字段的值减
lo若TTL字段减为0,则该数据报必须丢弃。
•协议。
该字段通常仅当一个IP数据报到达其最终目的地时才会有用。该字段值
指示了 IP数据报的数据部分应交给哪个特定的运输层协议。例如,值为6表明
数据部分要交给TCP,而值为17表明数据要交给UDP。对于所有可能值的列
表,注意在IP数据报中的协议号所起的作用,类似于运输层报文段中端口号字段所起的作用。协议号是将网络层与运输层绑定到一起的黏合剂,而端口号是将运输层和应用层绑定到一起的黏合剂,链路层帧也有一个特殊字段用于将链路层与网络层绑定
到一起.
•首部检验和。
首部检验和用于帮助路由器检测收到的IP数据报中的比特错误。首
部检验和是这样计算的:将首部中的每2个字节当作一个数,用反码算术对这些
数求和。路由器要对每个收到的IP数据报计算其首部检验和,如果数据报首
部中携带的检验和与计算得到的检验和不一致,则检测岀是个差错。路由器一般
会丢弃检测出错误的数据报。注意到在每台路由器上必须重新计算检验和并再次
存放到原处,因为TTL字段以及可能的选项字段会改变。
•源和目的IP地址。
当某源生成一个数据报时,它在源IP字段中插入它的IP地
址,在目的IP地址字段中插入其最终目的地的地址。通常源主机通过DNS查找
来决定目的地址,如在第2章中讨论的那样。
编址。
•选项。
选项字段允许IP首部被扩展。首部选项意味着很少使用,因此决定对每个
数据报首部不包括选项字段中的信息,这样能够节约开销。然而,少量选项的存
在的确使问题复杂了,因为数据报首部长度可变,故不能预先确定数据字段从何
处开始。而且还因为有些数据报要求处理选项,而有些数据报则不要求,故导致
一台路由器处理一个IP数据报所需的时间变化可能很大。这些考虑对于高性能路
由器和主机上的IP处理来说特别重要。由于这样或那样的原因,在IPv6首部中已
去掉了 IP选项
•数据(有效载荷)。
我们来看看最后也是最重要的字段.这是数据报存在的首要理
由!在大多数情况下,IP数据报中的数据字段包含要交付给目的地的运输层报文
段(TCP或UDP)。

三、IPv4数据分片

1.一个链路层帧能承载的最大数据量叫作最大传送单元(Maximum Transmission Unit, MTU)

2.分片
IP数据报中的数据分片成两个或更多个较小的IP数据报,用单独的链路层帧封装这
些较小的IP数据报,然后通过输出链路发送这些帧。每个这些较小的数据报都称为片
(fragment) 。
片在其到达目的地运输层以前需要重新组装。TCP与UDP的确都希望从网络层收
到完整的、未分片的报文

3.标识、标志和片偏移字段
IPv4的设计者将标识、标志和片偏移字段放在IP数据报
首部中。当生成一个数据报时,发送主机在为该数据报设置源和目的地址的同时贴上标识
号。发送主机通常将它发送的每个数据报的标识号加1。当某路由器需要对一个数据报分
片时,形成的每个数据报(即片)具有初始数据报的源地址、目的地址与标识号。

为了让目的主机绝对地相信它已收到了初始数据报的最后一
个片,最后一个片的标志比特被设为0,而所有其他片的标志比特被设为1。另外,为了
让目的主机确定是否丢失了一个片(且能按正确的顺序重新组装片),使用偏移字段指定
该片应放在初始IP数据报的哪个位置。

4.举例
一个4000字节的数据报(20字节IP首部加上3980字节IP有效载荷)到达一
台路由器,且必须被转发到一条MTU为1500字节的链路上。这就意味着初
始数据报中3980字节数据必须被分配
为3个独立的片(其中的每个片也是一个IP数据报)。

四、IPv4编址

每个IP地址长度为32比特(等价为4字节),因此总共有屮个(或大约40亿个)
可能的IP地址。这些地址通常按所谓点分十进制记法(dotled decimal notation)书写

举例,地址193.32.216.9的二进制记法是:
11000001 00100000 11011000 00001001

1.无类别域间路由选择(Classless Inlerdomain Routing,CIDR)

形式为a.b. c. d/x的地址的x最高比特构成了 IP地址的网络部分,并且经常被称为该
地址的前缀(prefix)(或网络前缀)

为了确定子网,分开主机和路由器的每个接口,产生几个隔离的网络岛,使
用接口端接这些隔离的网络的端点。这些隔离的网络中的每一个都叫作一个子网


互联这3个主机接口与1个路由器接口的网络形成一个子网(sub-net)。(在因特网文献中,子网也称为1P网络或直接称为网络。)IP编址为这个子网分配一个地址223.1.1.0/24,其中的==/24记法==,有时称为子网掩码(networkmask),指示32比特中的最左侧24比特定义了子网地址

2.分类编址

在CIDR被采用之前,IP地址的网络部分被限制为长度为8、16或24比特,这是一种
称为分类编址(classful addressing)的编址方案,这是因为具有8、16和24比特子网地址
的子网分别被称为A、B和C类网络

C类(/24)子网仅能容纳多达28 -2 =254 (2* =256
B类(/16)子网可支持多达65 534台主机,又太大了。
IP广播地址:255. 255. 255. 255,那将是我们当一台主机发出一个目的地址为255. 255. 255. 255的数据报时,该报文会交付给同一个网络中的所有主机。

五、动态主机配置协议(DHCP)

DHCP 允许主机自动获取(被分
配)一个IP地址。网络管理员能够配置DHCP,以使某给定主机每次与网络连接时能得到
一个相同的IP地址,或者某主机将被分配一个临时的IP地址(tempomry IP address),每
次与网络连接时该地址也许是不同的。

• DHCP服务器发现。
这可通过使用DHCP发现报文(DHCP discover message)来完成,客户在
UDP分组中向端口 67发送该发现报文。DHCP客户生成包含DHCP发现报文的
iP数据报,其中使用广播目的地址255.255.255.255并且使用“本主机”源IP地址
0.0. 0.0。

• DHCP服务器提供。DHCP服务器收到一个DHCP发现报文时,用DHCP提供报
文(DHCP offer message)向客户做出响应,该报文向该子网的所有节点广播,仍
然使用IP广播地址255. 255. 255. 255。因为在子网中可能存在几个DHCP服务器,该客户也许会发现它处于能在几个提供者之间进行选择的优越位置。每台服务器提供的报文包含有收到的发现报文的事务ID、向客户推荐的IP地址、网络掩码以及IP地址租用期(, 即IP地址有效的时间量。服务器租用期通常设置为几小时或几天。

• DHCP请求。新到达的客户从一个或多个服务器提供中选择一个,并向选中的服
务器提供用DHCP请求报文(DHCP request mess昭e)进行响应,回显配置的参数。

• DHCP ACK。服务器用 DHCP ACK 报文(DHCP ACK message)寸 DHCP 请求报文
进行响应,证实所要求的参数。 一旦客户收到DHCP ACK后,交互便完成了,并且该客户能够在租用期内使用DHCP分配的IP地址。因为客户可能在该租用期超时后还希望使用这个地址,所以DHCP还提供了一种机制以允许客户更新它对一个IP地址的租用。

六、网络地址转换(NAT)

具有专用地址的地域(realm with privateaddress) 。
具有专用地址的地域是指其地址仅对该网络中的设备有意义的网络。为了明白它为什么重要,
考虑有数十万家庭网络这样的事实,许多使用了相同的地址空间10. 0. 0. 0/240

NAT使能路由器对于外部世界来说甚至不像一台路由器。相反NAT路由器对外界的
行为就如同一个具有单一 IP地址的单一设备。所有离开家庭路由器流向更
大因特网的报文都拥有一个源IP地址13& 76. 29. 7,且所有进入家庭的报文都拥有同一个
目的IP地址138.76. 29. 7。

1.
主机10. 0. 0. 1为其
指派了(任意)源端口号3345并将该数据报发送到LAN中。NAT路由器收到该数据报,
为该数据报生成一个新的源端口号5001,将源IP替代为其广域网一侧接口的IP地址
138. 76. 29.7,且将源端口 3345更换为新端口 5001

网络层———IPv4(1)相关推荐

  1. 29、Internet网络层——IPv4协议IP地址(网络层)

    引言 Internet网络层今天成功的原则在RFC 1958中有描述.这里简单总结一下10大原则(从最重要的到最不重要的)(RFC中应该不止10个,寒注):(1)保证工作(可以工作)(2)保持简单(3 ...

  2. 4-3网络层-IPv4

    文章目录 一.IPv4分组的格式及IP数据报分片 二.IPv4地址 三.网络地址转换NAT 四.子网划分与子网掩码 五.无分类域间路由选择CIDR 六.ARP协议 七.动态主机配置协议(DHCP协议) ...

  3. 【计算机网络】网络层 : IPv4 地址 ( IP 地址分类 | 特殊 IP 地址 | 私有 IP 地址 | A 类、B 类、C 类 IP 地址网络号主机号数量 )★

    文章目录 一.IP 地址 发展 二.分类 IP 地址 三.特殊 IP 地址 四.私有 IP 地址 五.分类 IP 地址 网络号 主机数 详情 一.IP 地址 发展 IP 地址 发展 : 第一阶段 : ...

  4. 【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★

    文章目录 一.网络层功能 二.数据交换方式 ★ 三.IP 数据报 ★ 四. IPv4 地址 ★★ 1 . IP 地址 发展 : 2 . 分类 IP 地址 3 . NAT 转换 4 . 子网划分 5 . ...

  5. 网络层协议之IPv4

    网络协议分层之网络层 IPv4协议:Internet网络层最核心的协议.定义了如何封装上层协议( 如UDP. TCP) 的报文段:定义了Internet网络层寻址( IP地址) 以及如何转发IP数据报 ...

  6. 怎样解决IPv4网络和IPv6网络的共存互通?

    现在,业界一致认为IPv6技术是解决IP地址短缺问题的唯一可行的根本办法.但由于IPv6与IPv4技术不兼容,且现有的IPv4设备和用户数量庞大,在网络演进过程中,需要解决异构网络的共存互通问题. 解 ...

  7. Cisco ❀ IPV4协议数据报头部

    IPV4 数据报头部格式 图解 图片来自:http://blog.163.com/qhj4433210@126/blog/static/165975282201592251248584/ 图片来自:h ...

  8. [计算机网络]第四章——网络层

    文章目录 第四章--网络层 4.1 网络层概述 4.1.1 网络互连 4.1.2 网络层的两个核心功能 4.1.3 连接建立 4.1.4 网络层服务模型 4.1.5 虚电路vc网络 信令协议 4.2 ...

  9. IPv4与IPv6数据包格式

    https://blog.csdn.net/frank_jb/article/details/45093615 本文给出IPv4与IPv6数据报格式示意图,并整理了各个字段含义,最后对比IPv4与IP ...

  10. OSI,TCP,UDP,IPV4,PDU,ARP

    OSI模型:-开放式系统互联参考模型-7层模型 应用层-抽象语言和编码间转换 表示层-编码和二进制间转换 会话层-应用程序地址 传输层-分段-受MTU限制 TCP/UDP-端口号 网络层-----IP ...

最新文章

  1. qregexp限制数字范围_计算一列数字的平均值
  2. python字符串find函数-python字符串查找函数的用法详解
  3. Java Scanner 类、异常处理 总结
  4. 教你如何成为解决问题的高手
  5. 工厂电子产品工艺文件_建智能工厂,人机如何达到最佳组合?
  6. 微服务架构 vs SOA架构
  7. 矛与盾——扫描器盲打对主动安全防护的启示
  8. ON1 Effects 2022 for mac(ps调色滤镜库)支持m1
  9. 实验19:Frame-Relay
  10. 上手DocumentDB On Azure (二)
  11. Java main方法快捷键
  12. 了解iphone的特色传感器
  13. 基于ubuntu20.4安装谷歌拼音中文输入法
  14. 6 个主流 AI 聊天机器人平台
  15. matlab二元非线性拟合,求助matlab多元非线性公式拟合
  16. Unable to check if JNs are ready for formatting 问题解决
  17. 这16道题都能答上来?恭喜你,90%的面试都能通过!
  18. WhatsApp拓客云控系统-SendWS群控管理后台功能介绍(三):WhatsApp多账号管理记录查询
  19. 设计模式-----装饰模式.
  20. dom更新到底在javascript事件循环的哪个阶段?「前端每日一题v22.11.17」

热门文章

  1. LA4487 Exclusive-OR
  2. ibm 的java实现_IBM Java Toolbox for 实现IBM i 消息通信
  3. 微信开发者工具 http 调试
  4. java 打印 xps_使用Java 将PPT转换为PDF、XPS等格式
  5. python覆盖写文件_python写文件时覆盖原来的代码方法实例
  6. html5qq授权登陆,php 第三方登陆接入qq互联
  7. 蓝桥ROS机器人之CoppeliaSim_Edu_V4_2_0
  8. Windows安装和设置教程
  9. python 螺旋_用Python生成气候温度螺旋
  10. 制作业信息化为什么难施行?