IP协议【图解TCP/IP(笔记九)】

这篇具有很好参考价值的文章主要介绍了IP协议【图解TCP/IP(笔记九)】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

IP即网际协议

TCP/IP的心脏是互联网层。这一层主要由IP(Internet Protocol)和ICMP(Internet Control Message Protocol)两个协议组成。

IP相当于OSI参考模型的第3层

IP(IPv4、IPv6)相当于OSI参考模型中的第3层——网络层。

网络层的主要作用是“实现终端节点之间的通信”。这种终端节点之间的通信也叫“点对点(end-to-end)通信”。

网络层的下一层——数据链路层的主要作用是在互连同一种数据链路的节点之间进行包传递。而一旦跨越多种数据链路,就需要借助网络层。网络层可以跨越不同的数据链路,即使是在不同的数据链路上也能实现两端节点之间的数据包传输。
IP协议【图解TCP/IP(笔记九)】,图解TCP/IP,tcp/ip,笔记,网络

■ 主机与节点

在互联网世界中,将那些配有IP地址的设备叫做“主机”。这里的主机可以是超大型计算机,也可以是小型计算机。
这是因为互联网在当初刚发明的时候,只能连接这类大型的设备,因此习惯上就将配有IP地址的设备称为“主机”。

然而,准确地说,主机的定义应该是指“配置有IP地址,但是不进行路由控制(是指中转分组数据包。) 的设备”。
既配有IP地址又具有路由控制能力的设备叫做“路由器”,跟主机有所区别。
而节点则是主机和路由器的统称(在IPv4的规范中,将具有路由控制功能的设备叫做“网关”,然而现在都普遍叫做路由器(或3层交换机)。) 。

网络层与数据链路层的关系

数据链路层提供直连两个设备之间的通信功能。与之相比,作为网络层的IP则负责在没有直连的两个网络之间进行通信传输。那么为什么一定需要这样的两个层次呢?它们之间的区别又是什么呢?

在此,我们以旅行为例说明这个问题。有个人要去一个很远的地方旅行,并且计划先后乘坐飞机、火车、公交车到达目的地。为此,他决定先去旅行社购买机票和火车票。

旅行社不仅为他预订好了旅途过程中所需要的机票和火车票,甚至为他制定了一个详细行程表,详细到几点几分需要乘坐飞机或火车都一目了然。

当然,机票和火车票只有特定区间内有效,当你换乘不同公司的飞机或火车时,还需要重新购票。
IP协议【图解TCP/IP(笔记九)】,图解TCP/IP,tcp/ip,笔记,网络
仔细分析一下机票和火车票,不难发现,每张票只能够在某一限定区间内移动。此处的“区间内”就如同通信网络上的数据链路。而这个区间内的出发地点和目的地点就如同某一个数据链路的源地址和目标地址等首部信息(出发地点好比源MAC地址,目标地点好比目的MAC地址。) 。整个全程的行程表的作用就相当于网络层。

如果我们只有行程表而没有车票,就无法搭乘交通工具到达目的地。反之,如果除了车票其他什么都没有,恐怕也很难到达目的地。因为你不知道该坐什么车,也不知道该在哪里换乘。因此,只有两者兼备,既有某个区间的车票又有整个旅行的行程表,才能保证到达目的地。与之类似,计算机网络中也需要数据链路层和网络层这个分层才能实现向最终目标地址的通信。

IP基础知识

IP大致分为三大作用模块,它们是IP寻址、路由(最终节点为止的转发)以及IP分包与组包。以下就这三个要点逐一介绍。

IP地址属于网络层地址

在计算机通信中,为了识别通信对端,必须要有一个类似于地址的识别码进行标识。MAC地址正是用来标识同一个链路中不同计算机的一种识别码。

作为网络层的IP,也有这种地址信息。一般叫做IP地址。IP地址用于在“连接到网络中的所有主机中识别出进行通信的目标地址”。因此,在TCP/IP通信中所有主机或路由器必须设定自己的IP地址(严格来说,要针对每块网卡至少配置一个或一个以上的IP地址。) 。IP协议【图解TCP/IP(笔记九)】,图解TCP/IP,tcp/ip,笔记,网络
不论一台主机与哪种数据链路连接,其IP地址的形式都保持不变。以太网、无线局域网、PPP等,都不会改变IP地址的形式(数据链路的MAC地址的形式不一定必须一致。) 。网络层对数据链路层的某些特性进行了抽象。数据链路的类型对IP地址形式透明,这本身就是其中抽象化中的一点。

另外,在网桥或交换集线器等物理层或数据链路层数据包转发设备中,不需要设置IP地址(在用SNMP进行网路管理时有必要设置IP地址。不指定IP则无法利用IP进行网路管理。) 。因为这些设备只负责将IP包转化为0、1比特流转发或对数据链路帧的数据部分进行转发,而不需要应对IP协议(反之,这些设备既可以在IPv4环境中使用,也可以在IPv6环境中使用。) 。

路由控制

路由控制(Routing)是指将分组数据发送到最终目标地址的功能。即使网络非常复杂,也可以通过路由控制确定到达目标地址的通路。一旦这个路由控制的运行出现异常,分组数据极有可能“迷失”,无法到达目标地址。因此,一个数据包之所以能够成功地到达最终的目标地址,全靠路由控制。
IP协议【图解TCP/IP(笔记九)】,图解TCP/IP,tcp/ip,笔记,网络

■ 发送数据至最终目标地址

Hop译为中文叫“跳”。它是指网络中的一个区间。IP包正是在网络中一个个跳间被转发。因此IP路由也叫做多跳路由。在每一个区间内决定着包在下一跳被转发的路径。
IP协议【图解TCP/IP(笔记九)】,图解TCP/IP,tcp/ip,笔记,网络

■ 一跳的范围

一跳(1 Hop)是指利用数据链路层以下分层的功能传输数据帧的一个区间。

以太网等数据链路中使用MAC地址传输数据帧。此时的一跳是指从源MAC地址到目标MAC地址之间传输帧的区间。
也就是说它是主机或路由器网卡不经其他路由器而能直接到达的相邻主机或路由器网卡之间的一个区间。
在一跳的这个区间内,电缆可以通过网桥或交换集线器相连,不会通过路由器或网关相连。

多跳路由是指路由器或主机在转发IP数据包时只指定下一个路由器或主机,而不是将到最终目标地址为止的所有通路全都指定出来。因为每一个区间(跳)在转发IP数据包时会分别指定下一跳的操作,直至包达到最终的目标地址。

以乘坐火车旅游为例具体说明。

在前面的例子中,虽然已经确定了最终的目标车站,但是一开始还是不知道如何换乘才能到达这个终极目标地址。因此,工作人员给出的方法是首先去往最近的一个车站,再咨询这一车站的工作人员。而到了这个车站以后再询问工作人员如何才能达到最终的目标地址时,仍然得到同样的建议:乘坐某某线列车到某某车站以后再询问那里的工作人员。

于是,该乘客就按照每一个车站工作人员的指示,到达下一车站以后再继续询问车站的工作人员,得到类似的建议。

因此,即使乘客不知道其最终目的地的方向也没有关系。可以通过每到一个车站咨询工作人员的这种极其偶然(英文叫做“Ad Hoc”,是指具有偶然性的、在各跳之间无计划传输的意思。尤其在谈到IP时经常会用到该词。) 的方法继续前进,也可以到达最终的目标地址。

IP数据包的传输亦是如此。可以将旅行者看做IP数据包,将车站和工作人员看做路由器。当某个IP包到达路由器时,路由器首先查找其目标地址(IP包被转发到途中的某个路由器时,实际上是装入数据链路层的数据帧以后再被送出。以以太网为例,目标MAC地址就是下一个路由器的MAC地址。) ,从而再决定下一步应该将这个包发往哪个路由器,然后将包发送过去。当这个IP包到达那个路由器以后,会再次经历查找下一目标地址的过程,并由该路由器转发给下一个被找到的路由器。这个过程可能会反复多次,直到找到最终的目标地址将数据包发送给这个节点。

这里还可以用快递的送货方式来打比方。IP数据包犹如包裹,而送货车犹如数据链路。包裹不可能自己移动,必须有送货车承载转运。而一辆送货车只能将包裹送到某个区间范围内。每个不同区间的包裹将由对应的送货车承载、运输。IP的工作原理也是如此。
IP协议【图解TCP/IP(笔记九)】,图解TCP/IP,tcp/ip,笔记,网络

■ 路由控制表

为了将数据包发给目标主机,所有主机都维护着一张路由控制表(Routing Table)。该表记录IP数据在下一步应该发给哪个路由器。IP包将根据这个路由表在各个数据链路上传输。
IP协议【图解TCP/IP(笔记九)】,图解TCP/IP,tcp/ip,笔记,网络

数据链路的抽象化

IP是实现多个数据链路之间通信的协议。数据链路根据种类的不同各有特点。对这些不同数据链路的相异特性进行抽象化也是IP的重要作用之一。数据链路的地址可以被抽象化为IP地址。因此,对IP的上一层来说,不论底层数据链路使用以太网还是无线LAN亦或是PPP,都将被一视同仁。

不同数据链路有个最大的区别,就是它们各自的最大传输单位(MTU:Maximum Transmission Unit)不同。就好像人们在邮寄包裹或行李时有各自的大小限制一样。

MTU的值在以太网中是1500字节,在FDDI中是4352字节,而ATM则为9180字节。IP的上一层可能会要求传送比这些MTU更多字节的数据,因此必须在线路上传送比包长还要小的MTU。

为了解决这个问题,IP进行分片处理(IP Fragmentation)。顾名思义,所谓分片处理是指,将较大的IP包分成多个较小的IP包 。分片的包到了对端目标地址以后会再被组合起来传给上一层。即从IP的上次层看,它完全可以忽略数据包在途中的各个数据链路上的MTU,而只需要按照源地址发送的长度接收数据包。IP就是以这种方式抽象化了数据链路层,使得从上层更不容易看到底层网络构造的细节。

IP属于面向无连接型

IP面向无连接。即在发包之前,不需要建立与对端目标地址之间的连接。上层如果遇到需要发送给IP的数据,该数据会立即被压缩成IP包发送出去。

在面向有连接的情况下,需要事先建立连接。如果对端主机关机或不存在,也就不可能建立连接。反之,一个没有建立连接的主机也不可能发送数据过来。

而面向无连接的情况则不同。即使对端主机关机或不存在,数据包还是会被发送出去。反之,对于一台主机来说,它会何时从哪里收到数据也是不得而知的。通常应该进行网络监控,让主机只接收发给自己的数据包。若没有做好准备很有可能会错过一些该收的包。因此,在面向无连接的方式下可能会有很多冗余的通信。

那么,为什么IP要采用面向无连接呢?

主要有两点原因:一是为了简化,二是为了提速。面向连接比起面向无连接处理相对复杂。甚至管理每个连接本身就是一个相当繁琐的事情。此外,每次通信之前都要事先建立连接,又会降低处理速度。需要有连接时,可以委托上一层提供此项服务。因此,IP为了实现简单化与高速化采用面向无连接的方式。文章来源地址https://www.toymoban.com/news/detail-545962.html

到了这里,关于IP协议【图解TCP/IP(笔记九)】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机与网络发展的7个阶段【图解TCP/IP(笔记一)】

    批处理 所谓批处理,是指事先将用户程序和数据装入卡带或磁带,并由计算机按照一定的顺序读取,使用户所要执行的这些程序和数据能够一并批量得到处理的方式。这种计算机通常放置于专门的计算机管理与运维的计算机中心。用户事先将程序和数据装入卡带或磁带送到这

    2024年02月12日
    浏览(44)
  • Linux 网络编程学习笔记——一、TCP/IP 协议族

    数据链路层实现了网卡接口的网络驱动程序,以处理数据在物理媒介(以太网、令牌环等)上的传输,不同的物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节,为上层协议提供一个统一的接口。最常用的协议是 ARP(Address Resolve Protocol,地址解析协议)和 RARP(

    2024年02月02日
    浏览(60)
  • TCP/IP出现的背景及其历史【图解TCP/IP(笔记八)】

    从军用技术的应用谈起 20世纪60年代,很多大学和研究机构都开始着力于新的通信技术。其中有一家以美国国防部(DoD,The Department of Defense)为中心的组织也展开了类似的研究。 DoD认为研发新的通信技术对于国防军事有着举足轻重的作用。该组织希望在通信传输的过程中,即

    2024年02月13日
    浏览(36)
  • IP地址【图解TCP/IP(笔记十)】

    在用TCP/IP通信时,用IP地址识别主机和路由器。为了保证正常通信,有必要为每个设备配置正确的IP地址。在互联网通信中,全世界都必须设定正确的IP地址。否则,根本无法实现正常的通信。 因此,IP地址就像是TCP/IP通信的一块基石。 IP地址的定义 IP地址(IPv4地址)由32位正

    2024年02月13日
    浏览(47)
  • 一文讲透TCP/IP协议 | 图解+秒懂+史上最全

    目录 🙋‍♂️ TCP/IP协议详解 🙋‍♂️ TCP/IP协议的分层模型 OSI模型的七层框架 TCP/IP协议与七层ISO模型的对应关系 (一)TCP/IP协议的应用层 (二)TCP/IP协议的传输层 (三)TCP/IP协议的网络层 (四)TCP/IP协议的链路层 🙋‍♂️ 图解 物理层:使用MAC解决设备的身份证问题

    2024年02月06日
    浏览(28)
  • 计算机网络笔记:计算机网络体系结构(OSI七层模型、TCP/IP五层协议)

    计算机网络是一个复杂的、具有综合性技术的系统,它由计算机系统、通信处理机、通信线路和通信设备、操作系统以及网络协议等组成。为了更好地描述计算机网络结构,使计算机网络系统有条不紊地处理工作,需要定义一种较好的网络体系结构。分层结构就是一种较好地

    2024年02月07日
    浏览(37)
  • 系分笔记计算机网络OSI七层模型概念、协议和作用以及TCP/IP协议

      计算机网路是系统分析师考试的常考知识点,本篇主要记录了知识点:OSI七层模型概念、协议和作用以及TCP/IP协议中比较重要的考点。   计算机网络的OSI七层模型从底层往上,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。   计算机网络

    2024年01月16日
    浏览(40)
  • 计算机通信地址【图解TCP/IP(笔记六)】

    通信传输中,发送端和接收端可以被视为通信主体。它们都能由一个所谓“地址”的信息加以标识出来。当人们使用电话时,电话号码就相当于“地址”。当人们选择写信时,通信地址加上姓名就相当于“地址”。 现实生活当中的“地址”比较容易理解,然而在计算机通信当

    2024年02月13日
    浏览(26)
  • 什么是端口号【图解TCP/IP(笔记十一)】

    端口号定义 数据链路和IP中的地址,分别指的是MAC地址和IP地址。前者用来识别同一链路中不同的计算机,后者用来识别TCP/IP网络中互连的主机和路由器。在传输层中也有这种类似于地址的概念,那就是端口号。端口号用来识别同一台计算机中进行通信的不同应用程序。因此

    2024年02月15日
    浏览(31)
  • 网络编程——TCP/IP协议族(IP协议、TCP协议和UDP协议……)

    1、IP协议简介 IP协议又称 网际协议 特指为实现在一个相互连接的网络系统上从源地址到目的地传输数据包(互联网数据包)所提供必要功能的协议,是网络层中的协议。 2、特点 不可靠 :它不能保证IP数据包能成功地到达它的目的地,仅提供尽力而为的传输服务 无连接 :IP 并不

    2024年02月13日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包