首页 > 其他分享 >第六章 网络互连与互联网(三)

第六章 网络互连与互联网(三)

时间:2024-08-15 09:26:32浏览次数:11  
标签:协议 IP 互连 地址 互联网 主机 第六章 数据 路由器

三、IP 协议

Internet 是今天使用最广泛的网络。因特网中的主要协议是 TCP 和 IP, 所以 Internet 协议也叫 TCP/IP 协议簇。这些协议可划分为 4 个层次,它们与 OSI/RM 的对应关系如表所示。

在这里插入图片描述

由于 ARPAnet 的设计者注重的是网络互连,允许通信子网采用已有的或将来的各种协议,所以这个层次结构中没有提供网络访问层的协议。

实际上,TCP/IP 协议可以通过网络访间层连接到任何网络上。与 OSI/RM 分层的原则不同, TCP/IP 协议簇允许同层的协议实体间互相调用,从而完成复杂的控制功能。允许上层过程直接调用不相邻的下层过程,甚至在有些高层协议中控制信息和数据分别传输,而不是共享同一个协议数据单元。

下图所示为主要协议之间的调用关系。

在这里插入图片描述

1. IP 地址

(1)IP 网络地址采用“网络·主机”的形式,其中网络部分是网络的地址编码,主机部分是网络中一个主机的地址编码。 IP 地址的格式如图所示。

在这里插入图片描述

(2)IP 地址分为 5 类。A、B、C 类是常用地址。

(3)IP 地址的编码规定 全 0 表示本地地址,即本地网络或本地主机全 1 表示广播地址,任何网站都能接收

(4)除去全 0 和全 1 地址外,A 类有 126 个网络地址,1600 万个主机地址; B 类有 16382 个网络地址, 64000 个主机地址;

C 类有 200 万个网络地址, 254 个主机地址。

(5)IP地址通常用十进制数表示,即把整个地址划分为4个字节,每个字节用一个十进制数表示,中间用圆点分隔。

(6)IP地址由美国 Intermet 信息中心(InterNIC)管理。

(7)一种更灵活的寻址方案引入了子网的概念,即把主机地址部分再划分为子网地址主机地址,形成了三级寻址结构

  • 这种三级寻址方式需要子网掩码的支持。
  • 子网地址对网络外部是透明的。当 IP 分组到达目标网络后,网络边界路由器把 32 位的 IP 地址与子网掩码进行逻辑“”运算,从而得到子网地址,并据此转发到适当的子网中。

(8)在点对点通信 unicast) 中使用 A、B、C 类地址,这类地址都指向某个网络中的一个主机。 D 类地址是组播地址,组播 (multicast) 和广播 (broadcast) 类似,都属于点对多点通信,但是又有所不同。组播的目标是一组主机,而广播的目标是所有主机。在一些新的网络应用中要用到组播地址。

实现组播需要特殊的方法。首先是网络中必须有能识别组播地址的路由器,这种路由器叫作组播网关,它接受一个目标地址为组地址的数据报并转发到相应的网络中 。其次 ,主机要能够发送组播数据报,这需要给 IP 软件增加两个功能,其一是 IP 软件要能够接受应用软件指定的目标组地址,其二是网络接口软件要能够把 IP 组地址映射到硬件组地址或广播地址上。另外,主机还需要能够接收组播报文,这要求主机中的 IP 软件能够向组播网关声明加入或退出某个地址组,并且当组播数据报来到时向同一组的各个应用软件各发送一个副本。

E 类保留作为研究之用,IPv6 地址就是在此基础上扩展的。

2. IP 协议的操作
(1)数据报生存期

如果使用了动态路由选择算法,或者允许在数据报旅行期间改变路由决策,则有可能造成回路。最坏的情况是数据报在因特网中无休止地巡回,不能到达目的地并浪费大量的网络资源。

解决办法:规定数据报有一定的生存期 ,生存期的长短以它经过的路由器的多少计数。每经过 个路由器,计数器加 1 , 计数器超过一定的计数值,数据报就被丢弃。当然,也可以用一个全局的时钟记录数据报的生存期,在这种方案下,生成数据报的时间被记录在报头中,每个路由器查看这个记录,决定是继续转发,还是丢弃它。

(2)分段和重装配

每个网络可能规定了不同的最大分组长度。当分组在因特网中传送时,可能要进入一个最大分组长度较小的网络,这时需要对它进行分段,这又引出了新的问题:在哪里对它进行重装配?

解决办法:

办法一:在目的地重装配,但这样只会把数据报越分越小,即使后续子网允许较大的分组通过,但由于途中的短报文无法装配,从而使通信效率下降。

办法二:允许中间的路由器进行重装配 ,这种方法也有缺点。首先是路由器必须提供重装配缓冲区,并且要设法避免重装配死锁;其次是由一个数据报分出的小段都必须经过同一个出口路由器才能再行组装,这就排除了使用动态路由选择算法的可能性。

办法三:IP 协议使用了 4 个字段处理分段和重装配问题。

  • 第一个是报文 ID 字段,它唯一地标识了某个站某一个协议层发出的数据。在DoD 的 IP 协议中, ID 字段由源站和目标站地址、 产生数据的协议层标识符以及该协议层提供的顺序号组成。
  • 第二个字段是数据长度,即字节数。
  • 第三个字段是偏置值,即分段在原来数据报中的位置,以 8 个字节(64 位) 倍数计数。
  • 最后是 M 标志,表示是否为最后一个分段。
(3)差错控制和流控

无连接的网络操作不保证数据报的成功提交,当路由器丢弃一个数据报时,要尽可能地向源点返回一些信息。源点的 IP 实体可以根据收到的出错信息改变发送策略或者把情况报告上层协议。丢弃数据报的原因可能是超过生存期、网络拥塞和 CS 校验出错等。在最后一种情况下可能无法返回出错信息,因为源地址字段已不可辨认。

路由器或接收站可以采用某种流控机制来限制发送速率。对于无连接的数据报服务,可采用的流控机制是很有限的。最好的办法也许是向其他站或路由器发送专门的流控分组,使其改变发送速率。

3. IP 协议数据单元

IP 协议的数据格式如图所示,其中的字段如下。

在这里插入图片描述

  • 版本号:协议的版本号,不同版本的协议格式或语义可能不同,现在常用的是IPv4,正在逐渐过渡到IPv6。
  • IHL:IP 头长度,以 32 位字计数,最小为5,即20个字节。
  • 服务类型:用于区分不同的可靠性、优先级、延迟和吞吐率的参数。
  • 总长度:包含IP头在内的数据单元的总长度(字节数)。
  • 标识符:唯一标识数据报的标识符。
  • 标志:包括3个标志,一个是 M 标志,用于分段和重装配;另一个是禁止分段标志,如果认为目标站不具备重装配能力,则可使这个标志置位,这样如果数据报要经过一个最大分组长度较小的网络,就会被丢弃,因而最好使用源路由以避免这种灾难发生;第3个标志当前没有启用。
  • 段偏置值:指明该段处于原来数据报中的位置。
  • 生存期:用经过的路由器个数表示。
  • 协议:上层协议(TCP或UDP)。
  • 头校检和:对IP头的校验序列。在数据报传输过程中 IP 头中的某些字段可能改变(例如生存期,以及与分段有关的字段),所以校检和要在每一个经过的路由器中进行校验和重新计算。校检和是对 IP头 中的所有 16 位字进行 1 的补码相加得到的,计算时假定校检和字段本身为 0。
  • 源地址:给网络和主机地址分别分配若干位,例如7和24、14和16、21和8等。
  • 目标地址:同上。
  • 任选数据:可变长,包含发送者想要发送的任何数据。
  • 补丁:补齐 32位的边界。
  • 用户数据:以字节为单位的用户数据,和 IP 头加在一起的长度不超过 65535 字节。

标签:协议,IP,互连,地址,互联网,主机,第六章,数据,路由器
From: https://blog.csdn.net/weixin_45627039/article/details/141205624

相关文章

  • 《NET CLR via C#》---第六章(类型成员,类型的可访问性,友元程序集,分部类型,CLR调用方法指
    类型成员类型可以定义0个或者多个以下种类的成员。成员描述常量常量是指出数据值恒定不变的符号。这种符号使代码更易阅读和维护。常量总与类型关联,不与类型的实例关联。常量总与类型关联,不与类型的实例关联字段字段表示只读或可读/可写的数据值。字段可以是静态......
  • 盘点2024年让互联网人打Call的录屏大师,你种草了吗?
    嘿,朋友们,你们有没有为录个教程、直播回放或者游戏精彩瞬间而烦恼过?市面上录屏软件一大堆,但真正能让你录得开心、录出新高度的软件可不好找!今天我这个录屏大师就来给你们介绍2024年三款超棒的录屏神器,让你的录屏过程变得既有趣又轻松!一:Foxit专业录屏武器即时通道___ https:/......
  • 铂繁达:如何提升自身能力以更好开展互联网项目
    现下大家对副业的需求越来越大。确实,互联网上有很多副业项目可供选择,但为何有些人无法从中获利呢?关键在于执行力,常言道:“千里之行,始于足下。”又有古语云:“水滴石穿,非一日之功。”只是光看不做,亦或是半途而废,这样当然无法获利。唯有坚持到底,一步一个脚印,自然能通向成功的彼岸。不......
  • 《亿级流量系统架构设计与实战》第一章 大型互联网公司的基础架构
    大型互联网公司的基础架构一、DNS1、域名服务器分类2、域名解析过程二、HTTPDNS1、DNS存在问题2、HTTPDNS解析流程3、HTTPDNS与DNS对比三、接入层技术演进1、Nginx(七层负载均衡器)2、LVS(四层负载均衡器)3、LVS+Nginx接入层架构四、数据存储1、MySQL2、Redis3、LSMTr......
  • 基于SpringBoot+Vue的互联网违法行为举报平台设计和实现(源码+论文+部署讲解等)
    博主介绍:✌全网粉丝50W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P......
  • 基于flask+vue框架的基于“互联网+”的智慧药房管理系统[开题+论文+程序]-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着“互联网+”战略的深入实施,传统行业正经历着前所未有的变革与升级。在医疗健康领域,智慧药房作为医药零售与服务的重要一环,其管理模式......
  • 互联网大厂是如何做页面适配的?
    你好同学,我是沐爸,欢迎点赞、收藏和关注!个人知乎、公众号"沐爸空间"今天跟大家分享下互联网大厂是如何做页面适配的,如果你是这个项目的开发者,有不对或需要补充的地方,希望能够评论区告诉我,在此谢过。京东PC端:https://www.jd.com/方案:为html元素设置最小宽度为1190px,页面......
  • 2023 福建省第三届工业互联网创新大赛CTF Misc-Covertchannel2
    题目:近日,公司Windows服务器被入侵,黑客使用了一个比较隐蔽的信道将机密凭据传输了出去,但是蛛丝马迹还是被流量采集设备捕获了,你能从中找回丢失的flag吗?分析:分析该流量包发现了有一个rsa.key,并且在数据包长度为126和119中发现了,secrets.txt和data.zip,接下来就是写脚本提......
  • 【解决方案】Java 互联网项目中消息通知系统的设计与实现(下)
    目录前言四、技术选型五、后端接口设计5.1业务系统接口5.2App端接口六、关键逻辑实现6.1Redis存储结构6.2已读消息处理6.3缓存定时清除本篇小结前言书接上回,消息通知系统(notification-system)作为一个独立的微服务,完整地负责了App端内所有消息通知相关的后端功能实现。该系统......
  • mysql 为什么很多互联网公司选择了读可提交
    前言在默认环境下,mysql是可重复读,为什么默认可重复读呢?一般情况下感觉读可提交就行,可重复读解决幻读的问题,但是大多情况下没有幻读的问题,所以也没有必要可重复读。那么为什么mysql要把默认配置设置为可重复读呢?正文历史原因:这种图,如果是在可提交读的情况下,会发生什么呢?......