一文带你看网络协议之因特网中的转发和编址! | 原力计划

发表于 4年以前  | 总阅读数:449 次

作者 | 北海以北没有小王 责编 | 王晓曼 出品 | CSDN博客

导入-因特网的三个重要组件

1、IP协议

IP是主机在网络中的唯一标识符, 且在全网上唯一不可重复, 就像人的身份证一样(更恰当的说是身份证号)。

2、路由选择

路由选择决定了数据报从源到目的地所流经的路径,好似我们规划周末与女朋友的散步路线。

3、报告数据报中的差错和对某些网络层信息进行响应的设施

互联网控制报文协议(ICMP)是TCP/IP协议簇的一个子协议,被用来实现在互联网上传递错误以及控制信息。

IPV4数据报格式

1、数据报图例

2、关键字段

(1)版本号

  • 长度为4bite;
  • 规定了数据报的IP协议版本。

(2)首部长度

  • 因为一个IPV4数据报可包含一些可变数量的选项,所以需要首部长度这个字段来确定数据报中数据部分从何开始;
  • 大多数IP数据报不包含选项,所以一般IP数据报长度为20字节。

(3)服务类型

  • 用于区分不同类型的数据报;
  • 例如实时数据报和非实时数据报。

(4)数据报长度

IP数据报的总长度。

(5)标识, 标志, 总偏移

下面会详细讲解。

(6)寿命

  • 数据报每被路由器处理一次则寿命字段减一,减至0时则必须丢弃;
  • 这个字段用于确保数据报不会永远在网络中循环。

(7)协议

  • 仅在数据报到达最终目的地时才会被使用;
  • 指定了该数据报该被交给哪个特定的运输层协议;
  • 例如,值为6表示要交给TCP,值为17表示要交给UDP。

(8)首部检验和

检验数据报传输过程中是否发生比特错误。

(9)源和目的IP地址

(10)选项

可以扩展IP首部。

(11)数据

这是数据报存在的根本意义。

3、IP数据报分片

(1)最大传送单元( Max:imum TrallSnnssion lJnil , MTU)

  • 因为并不是所有链路层协议都能承担相同长度的网络层分组,有的协议能承载大数据报,有的协议只能承载小分组;
  • 最大传送单元( Max:imum TrallSnnssion lJnil , MTU)指的是一个链路层所能承载的最大数据报;
  • 每一个链路的MTU都可能不同。

(2)当IP数据报的长度超过当前链路的最大传送单元MTU时, 就必须将数据报进行分片, 分成几个较小的IP数据报并在到达目的地后重新组装。

  • IPV4的设计将重新组装的动作放在端系统中而非网络路由器;
  • 较小的数据报就称为片(fragment)。

(3)目的主机与片

  • 当目的主机从网络中收到一系列数据报时就需要判断这些数据报是不是一些原来较大的数据报的片。
  • 如果是片,那那一片是最后一片,并且如何进行拼装;
  • 因此IPv4 的设计者将标识、标志和片偏移字段放在 IP 数据报首部中用于解决这一问题。

(4)标识

  • 当生成一个数据报时,发送主机在为该数据报设置源和目的地址的同时再贴上标识号。
  • 发送主机通常将为它发送的每个数据报的标识号加 1 。
  • 当某路由器需要对一个数据报分片时,形成的每个数据报(即片)具有初始数据报的源地址、目的地址与标识号。
  • 当目的地从同一发送主机收到一系列数据报时,它能够检查数据报的标识号以确定哪些数据报实际上是同一较大数据报的片。

(5)标志

  • 由于 lP 是一种不可靠的服务,一个或多个片可能永远到达不了目的地。
  • 因为这种原因,为了让目的主机绝对地相信它已收到了初始数据报的最后一个片,最后一个片的标志比特被设为 0 ,而所有其他片的标志比特被设为 l 。

(6)偏移字段

为让目的主机确定是再丢失了一个片(且能按正确的顺序重新组装片) ,使用偏移字段指定该片应放在初始 IP 数据报的哪个位置。

(7)当然分片也会产生开销并且可能被利用来攻击。

lPv4 编址

1、IP与接口的关系

我们将主机与物理链路之间的边界叫做接口(interface) 。

因为路由器的任务是从链路上接收数据报并从某些其他链路转发出去,路由器必须拥有两条或更多条链路与它连接。所以路由器与它的任意一条链路之间的边界也叫做接口。

因此一台路由器有多个接口,每个接口有其链路。

因为每台主机与路由器都能发送和接收IP数据报, IP 协议要求每台主机和路由器接口拥有自己的IP地址。

因此,一个IP地址技术上是与一个接口相关联的,而不是与包括该接口的主机或路由器相关联的。

2、IP地址

每个IP 地址长度为 32 比特(等价为 4 字节) ,因此总共有 2^32个可能的 IP 地址。

由于210近似于103, 因此可以看出IP地址大约有40亿个。

IP地址采用分十进制记法书写, 即每个字节以其的十进制形式书写, 并以句号隔开,例如127.0.0.1(这其中127,0,0,1实际上在电脑中都是一个8位二进制数)。

在因特网上的每个接口必须有唯一的IP地址与之对应(暂不考虑NAT,这多用于子网)。

这些地址不能随意地自由选择。一个接口的IP地址的一部分需要由其连接的子网来决定。

IP 广播地址 255. 255. 255.255。

当一台主机发出一个目的地址为 255.255.255.255 的数据报时,这段报文会交付给同一个网络中的所有主机。路由器也会有选择地向邻近的子网转发该报文(虽然它们通常不这样做) 。

3、子网

多个主机接口和多个路由器接口的网络形成一个子网;

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

其中/x有时被称为子网掩码, 因为也因此在同一个子网中的前X位都是一致的。

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

一个地址的剩余 32 - x 比特可认为是用于区分该组织内部设备的, 只有在组织内部的路由器转发分组时才会考虑这些分组;

CIDR采用以前, IP的网络部分只能固定的8.16. 24位, 但是后来由于中小规模的迅速增加, 取消了这一限制。

4、获取一个IP地址

网络管理员可以向其ISP索取一个或一些地址, 单这不是唯一的方式。

5、如何获取主机地址

动态主机配置协议((Dynamic Host Configuration , DHCP)允许主机自动获取(被分配)一个IP地址;

管理可以配置使一台机器每次获得的是同一个地址还是一个临时地址。

除了主机 IP 地址分配外, DHCP 还允许一台主机得知其他信息,例如它的子网掩码、它的第一条路由器地址(常称为默认网关)与它的本地 DNS 服务器的地址。

即插即用协议-DHCP能够将一台主机连入网络。

从DHCP服务器获取IP地址的过程:

在最简单场合下,每个子网将具有一台 DHCP 服务器或一个DHCP中继器。

对于一台新到达的主机而言, DHCP 协议是一个 4 个步骤的过程:

第一步:DHCP服务器发现

  • 新来的主机需要首先发现一个在当前网络中的DCHP服务器;
  • 所以新来的主机向网络的广播地址255.255.2555.255(广播地址) 发送一个DHCP发现报文,中间包含自己的源地址0.0.0.0。
  • 这一发现报文将被广播给所有与该子网连接的主机。

第二步:DHCP服务器提供

  • DHCP服务器收到一个发现报文则回复一个DHCP提供报文
  • 提供报文中包含有收到的发现报文的事务、向客户推荐的 IP地址、网络掩码以及 IP 地址租用期 (address lease time) ,即 IP 地址有效的时间量。服务器租用期通常设置为几小时或几天
  • 这一消息依旧是通过全局广播进行发送。
  • 注意:一个子网可能有多个DHCP服务器,所以该客户也许能进行选择。

第三步:DHCP请求

新客户从一个或多个提供报文中选择一个,并向选定的DHCP服务器提供一个DHCP请求报文进行响应,同时配置一些参数

第四步:DHCP ACK

  • 服务器用 DHCP ACK 报文 (DHCP ACK message) 对 DHCP 请求报文进行响应,证实所要求的参数。
  • 一旦客户收到这个ACK报文则交互就完成了,客户能够在租用期间内使用DHCP分配的IP地址。

DHCP的不足

当移动节点在子网之间移动时就不能保证其IP是一致的,就不能维持与远程应用之间的TCP连接。

6、网络地址转换

网络地址转换 (Network Address Translation )简称NAT。

NAT 使能路由器对于外部世界来说甚至不像一台路由器 。NAT 路由器对外界的行为反过来就如同一个具有单一 IP 地址的单一设备。

所有离开家庭路由器流向更大因特网的报文都拥有一个源IP地址 138. 76. 29. 7 ,且所有进入家庭的报文都拥有同一个目的地址 138. 76. 29. 7 。(从本质上讲, NAT 使能路由器对外界隐藏了家庭网络的细节。)

家庭网络中分配的都是专用地址, 即其地址只在当前子网内有意义, 在因特网上找不到这个地址。

路由器从ISP的DHCP获取IP, 而家庭网内的主机从子网内的DHCP获取IP。

在NAT路由器上维护一张NAT转换表, 表中有端口与子网内某台主机IP以及其端口的对应关系。

但是这种使用端口对应主机及其端口的形式受人诟病。

  • 有人认为端口号是用于进程编址的,而不是用于主机编址的。而这种违规用法对于运行在家庭网络中的服务器来说确实会引起问题。
  • 他们认为路由器通常仅应当处理高达第三层的分组。
  • 他们认为 NAT 协议违反了所谓端到端原则,即主机彼此应相互直接对话,结点不应介入修改 IP 地址与端口号。
  • 他们认为应使用IPv6 来解决 IP 地址短缺问题,而不是不计后果地用一种如 NAT 之类的权宜之计来修补存在的问题。

NAT访问与P2P应用:

在一个P2P 应用程序中,任何参与对等方 A 应当能够对任何其他参与对等方 B 发起一条 TCP 连接。该问题的实质在于如果对等方B 在一个 NAT 后面,它不能充当服务器并接收 TCP 连接。

如果对等方 A 不在一个 NAT 的后面,则该 NAT 问题能够绕过去。在这种情况下,对等方 A 能够首先通过一个中间对等方C 与对等方 B 联系

如果双方都在NAT之后则能够使用一些NAT穿越(比如下面的UPnP)的技术克服。

7、UPnP

NAT 穿越正越来越多地由通用即插即用(UPnP) 提供。

UPnP是一种允许主机发现并配置邻近 NAT 的协议 。UPnP要求主机和 NAT 都是 UPnP兼容的。

使用 UPnP ,在主机上运行的应用程序能够为某些请求的公共端口号请求一个 NAT 映射,该映射位于其(专用 IP地址,专用端口号)和(公共 IP 地址,公共端口号)之间。

映射的公共部分对于所有主机都是可见的, 外部的主机可对次发起连接, 内部主机可以通过此部分向外部通告它的存在。

总而言之, UPnP 允许外部主机使用 TCP 或 UDP 向 NAT 化的主机发起通信会话。长期以来 NAT 一直对P2P 应用程序十分不利;UPnP由于提供了有效和健壮的 NAT 穿越解决方案,可能成为了P2P 应用程序的救世主。

因特网控制报文协议

ICMP被主机和路由器用来彼此沟通网络层的信息 。

ICMP最典型的用途是差错报告, 例如目的网络不可达之类的错误。

ICMP与IP:

  • ICMP 通常被认为是 IP的一部分,但从体系结构上讲它是位于 IP 之上的,因为其承载在IP分组中就像TCP和UDP
  • 当一台主机收到一个指明上层协议为 ICMP 的 IP数据报时,它分解出该数据报的内容给 ICMP ,就像分解出一个数据报的内容给 TCP 或 UDP 一样。

ICMP报文

ICMP 报文有一个类型字段和一个编码字段,并且包含引起该 ICMP 报文首次生成的E 数据报的首部和前 8 字节内容(以便发送方能确定引发该差错的数据报)。

ICMP报文类型(图例)

里面源一直很少用到,因为TCP已经有了。

IPv6

我们知道IPV4定义的IP地址是4个8位的地址总共只有四十多亿个,在如今的时代已日渐不够用。

1、IPV6数据报格式

新的IPV6定义的IP是4个32位的地址。

图例:

(1)格式的变化

扩大的地址容量:

  • IPv6 将 IP 地址长度从 32 比特增加到 128 比特 。
  • 并多了一个任播地址。

简化高效的 40 字节首部。

增加了流标签与优先级字段。

(2)字段

  • 版本
  • 流量类型
  • 流标签
  • 有效载荷长皮
  • 下一 个首部
  • 跳限制

转发数据报的每台路由器将对该字段的内容减 1 。如果限制计数到达0时,则该数据报将被丢弃。

  • 源地址和目的地址
  • 数据

有效载荷部分

2、丢弃的IPV4字段

(1)分片/重新组装

  • IPV6而不允许在中间路由器上进行分片与重新组装 。这种操作只能在源与目的地上执行;
  • 如果过大直接丢弃并向发送方发送一个分组过大的ICMP差错报文即可。

(2)首部检验和

因为因特网层中的运输层(如 TCP 与 UDP) 和数据链路层(如以太网)协议执行了检验操作, IP 设计者大概觉得在网络层具有该项功能实属多余,可以将其去除。

(3)选项

选项字段不再是标准 IP 首部的一部分了。但它并没有消失,而是可能出现在 IPv6 首部中由"下一个首部"指出的位置上。

3、从IPV4到IPV6的迁移

我们必须考虑一个非常实际的问题: 基于IPV4的公共因特网如何迁移到IPV6(我们可以在设计IPV6使能系统时设计成向后兼容IPV4, 但已有的IPV4却不能兼容IPV6, 处理其发送的数据报等)。

可能的方法:

(1)标志日

  • 在某一天同时关机进行升级;
  • 不可想象。

(2)双线

使用该方法的 IPv6 结点还具有完整的 IPv4 实现。这样的结点被称为 IPv6/IPv4 结点,它有发送和接收 IPv4 与 IPv6 两种数据报的能力。

(3)建隧道

  • 假定两个 IPv6 结点( 要使用 IPv6 数据报进行交互,但它们是经由中间IPV4路由器互联的。
  • 将IPV6数据报整体包裹在一个IPV4数据报中然后进行发送;
  • 达到目的地后确认该IPV4数据报中有IPV6数据报则将其取出读取。

涉足 IP 安全性

一个提供各种安全性服务的网络层协议-IPsec, 在VPN中得到广泛部署。

IPsec被设计成IPV4和IPV6向后兼容。

(1)lPsec 的运输模式:

使用这种模式,两台主机首先在它们之间创建一个 IPsec 会话。(因此 IPsec 是面向连接的 ! )使用适当的会话,在这两台主机之间发送的所有 TCP 和 UDP 报文段都享受 IPsec 提供的安全性服务。在发送端,运输层向IPsee 传递一个报文段。I Psec 然后加密该报文段,在报文段上添加附加的安全性字段,并且在一个普通的 IP 数据报经过封装得到的有效载荷。

(2)lPsec提供的安全服务

  • 密码技术约定
  • lP 数据报有效载荷的加密
  • 数据完整性

IPsec 允许接收主机验证数据报的首部字段,保证被加密的有效载荷在其数据报从路到目的地的路由器中传输时没有被修改过。

  • 初始鉴别

当一 台主机从某受信任的源接收到一个 IPsec 数据报时,该主机确信在数据报中的源IP地址是该数据报的实际源。

版权声明:本文为CSDN博主「北海以北没有小王」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

https://blog.csdn.net/weixin_45761327/article/details/106244061

 相关推荐

刘强东夫妇:“移民美国”传言被驳斥

京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。

发布于:1年以前  |  808次阅读  |  详细内容 »

博主曝三大运营商,将集体采购百万台华为Mate60系列

日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。

发布于:1年以前  |  770次阅读  |  详细内容 »

ASML CEO警告:出口管制不是可行做法,不要“逼迫中国大陆创新”

据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。

发布于:1年以前  |  756次阅读  |  详细内容 »

抖音中长视频App青桃更名抖音精选,字节再发力对抗B站

今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。

发布于:1年以前  |  648次阅读  |  详细内容 »

威马CDO:中国每百户家庭仅17户有车

日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。

发布于:1年以前  |  589次阅读  |  详细内容 »

研究发现维生素 C 等抗氧化剂会刺激癌症生长和转移

近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。

发布于:1年以前  |  449次阅读  |  详细内容 »

苹果据称正引入3D打印技术,用以生产智能手表的钢质底盘

据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。

发布于:1年以前  |  446次阅读  |  详细内容 »

千万级抖音网红秀才账号被封禁

9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...

发布于:1年以前  |  445次阅读  |  详细内容 »

亚马逊股东起诉公司和贝索斯,称其在购买卫星发射服务时忽视了 SpaceX

9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。

发布于:1年以前  |  444次阅读  |  详细内容 »

苹果上线AppsbyApple网站,以推广自家应用程序

据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。

发布于:1年以前  |  442次阅读  |  详细内容 »

特斯拉美国降价引发投资者不满:“这是短期麻醉剂”

特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。

发布于:1年以前  |  441次阅读  |  详细内容 »

光刻机巨头阿斯麦:拿到许可,继续对华出口

据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。

发布于:1年以前  |  437次阅读  |  详细内容 »

马斯克与库克首次隔空合作:为苹果提供卫星服务

近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。

发布于:1年以前  |  430次阅读  |  详细内容 »

𝕏(推特)调整隐私政策,可拿用户发布的信息训练 AI 模型

据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。

发布于:1年以前  |  428次阅读  |  详细内容 »

荣耀CEO谈华为手机回归:替老同事们高兴,对行业也是好事

9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI操控无人机能力超越人类冠军

《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI生成的蘑菇科普书存在可致命错误

近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。

发布于:1年以前  |  420次阅读  |  详细内容 »

社交媒体平台𝕏计划收集用户生物识别数据与工作教育经历

社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”

发布于:1年以前  |  411次阅读  |  详细内容 »

国产扫地机器人热销欧洲,国产割草机器人抢占欧洲草坪

2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。

发布于:1年以前  |  406次阅读  |  详细内容 »

罗永浩吐槽iPhone15和14不会有区别,除了序列号变了

罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。

发布于:1年以前  |  398次阅读  |  详细内容 »
 相关文章
Android插件化方案 5年以前  |  237231次阅读
vscode超好用的代码书签插件Bookmarks 2年以前  |  8065次阅读
 目录