太厉害了,终于有人能把TCP/IP 协议讲的明明白白了

      最后更新:2022-06-22 21:34:25 手机定位技术交流文章

      附面试思维导图:

      一图看完本文

      计算机网络系统结构

      计算机网络结构

      计算机网络结构

      OSI参考模型强调“通信协议的功能是必要的”,而TCP/IP强调“应该开发哪些程序以实现协议在计算机上”。

      TCP/IP基础

      1.TCP/IP的具体影响

      从字面意义上讲,可以认为,TCP/IP指的是TCP和IP协议。有时在现实生活中,这实际上是这两个协议。然而在很多情况下,它是协议组的一个通用术语,必须在使用IP来通信时使用。具体来说,IP或ICMP、TCP或UDP、TELNET或FTP以及HTTP都是TCP/IP协议。它们与TCP或IP密切相关,它是互联网的一个重要组成部分。TCP/IP(英语:TCP/IP)是指这些协议。因此,TCP/IP有时被称为网络协议组。

      当在互联网上通信时,需要相应的网络协议,而TCP/IP最初是为互联网使用而开发的,因此,互联网协议是TCP/IP,而TCP/IP是互联网协议。

      网际协议群

      2. 数据包

      数据包,帧,数据包,段落,消息

      上述五项术语用于描述数据单位,大致分为:

      • 包装可以称作正式的期限;
      • 框架用于表示数据链层内包装的单元;
      • 数据包是IP和UDP等网络层以上层叠包的单元;
      • 段表述了TCP数据流中的信息;
      • 消息指应用程序协议中的数据单元。

      每个分层中,将添加一个标题到发送的数据,这个标题包含该层所需的信息,例如,发送目标地址和协议相关信息。通常,协议所提供的资料是该计划的第一部分,发送的内容是数据。在下一层的角度看,从上层接收的所有包被认为是从下层接收的数据。

      数据包首部

      在网络中传输的数据包由两个部分组成:一个部分是使用协议的第一个部分,另一部分是从顶层传输的数据。最初的结构由具体的协议规范详细定义.在数据包的首部,指定协议应该如何读取数据。反过来说,看到首部,你也能够理解协议所需的信息和要处理的数据。袋子的前面就像协议的面孔。

      3. 数据处理流程

      下面是一个从用户a到用户b发送邮件的例子:

      数据处理流程

      • ① 应用程序处理
      • 首先, 编码了应用程序, 符合OSI的表示层函数;
      • 经过编码转换后,消息不一定立即发送,这相当于OSI的会议层功能,即管理什么时候设置通信连接和什么时候发送数据。
      • 2TCP模块处理
      • TCP负责根据应用程序指令建立连接、发送数据和切断连接。 TCP提供可靠的从应用程序层到相反端的数据传输。
      • 3IP模块处理
      • IP将TCP头部和TCP数据传递给TCP作为自己的数据结合起来,并将其自己的IP头部添加到TCP头部的前端。
      • 4处理网络接口(网络驱动器)
      • 从IP传递的IP包是以太网的数据,这些数据被连接到以太网头部并发送用于处理,生成的以太网包通过物理层发送到接收机。
      • 5 处理网络接口(网络驱动器)
      • 在接收一个Ethernet包后,主机首先从最初的Ethernet包中找到MAC地址,然后决定是否将该包发送给自己或丢弃数据。
      • 如果数据包被发送给它本身,则数据类型由Ethernet数据包中的第一个类型确定,然后传递到相应的模块,例如IP、ARP等。
      • 6IP模块处理
      • 该IP模块在接收数据后也进行类似的处理。 确定该IP地址是否与包的第一个部分的自己的IP地址相匹配,如果匹配,则根据协议类型的第一个部分发送数据给相应的模块,例如TCP和UDP。
      • 此外,在路由器中,接收地址往往不是其自己的,因此需要使用路由器控制表,在调查后发送数据到主机或路由器。
      • 7处理TCP模块
      • 在TCP模块中,首先是计算校正和确定数据是否损坏,然后检查数据是否通过序列号接收。 最后,检查端口号确定特定应用程序。
      • ⑧ 应用程序的处理
      • 接收程序将接收发送者直接发送的数据,通过分析数据显示相应的内容。

      第三,传输层中的TCP和UDP

      TCP/IP包含两个代表层协议,分别是TCP和UDP。

      • TCP是一个面向连接的可靠流量协议。流是指数据结构的连续性,当应用程序使用TCP发送消息时,虽然可以保证传输的顺序,但好像没有数据流发送到接收机之间的空隙。提供可靠的传输,实施“序列控制”或“重复控制”机制。此外,还有许多功能,如流量控制(流量控制),拥塞控制,以及增加网络利用。
      • UDP不是可靠的数据报告协议,精细处理将交给高级应用程序完成。 在UDP情况下,虽然可以确保发送的邮件的大小,但不能确保消息会到达,因此,应用程序有时会根据自己的需要进行重新处理。
      • TCP和UDP的优点和缺点不能以简单而绝对的方式加以比较: TCP在传输层需要可靠的传输的情况下使用;UDP主要用于通信或广播通信,要求高速度传输和实时通信。TCP和UDP应在应用程序的用途上使用。

      1. 端口号

      数据链和IP地址,这些分别是MAC地址和IP地址。前者用于同一链路中识别不同的计算机,后者用于识别在TCP/IP网络中相互连接的主机和路由器。在传输层中,还有类似地址的这个概念,那就是端口号。该端口号用于识别在同一计算机上通信的不同的应用程序。因此,它也被称为程序地址。

      1.基于港口号码识别的申请

      传输层协议用于识别使用这些端口号在主机中通信的应用程序,并准确地传输数据。

      通过端口号识别应用

      1.通过IP地址、端口号码、协议号码进行通信识别

      • 仅仅用目标端口号来识别通信是远远不够的。

      通过端口号码、IP地址、协议号码进行通信识别

      • 1和2之间的通信是通过两个计算机进行的,目标端口是相同的,80.这可以通过源端口数来区分。
      • 目标端口号3和1与源端口号相同,但各自的源IP地址不同。
      • 此外,当IP地址和端口号都是相同的时,我们还可以用协议号(TCP和UDP)来区分它们。

      1.3港口号码的识别

      • 标准默认端口数: 这个方法也称为静态方法.这意味着每个应用程序都有指定的端口号码。但这并不是说你可以随意使用任何端口号码。例如,在广泛使用的应用程序协议(例如HTTP、FTP和TELNET)中使用的端口数目是固定的。这些港口被称为著名的港口,分布于0至1023之间;除已知的港口号码外,还有一些正式注册的港口号码,分布于1024至49151之间。然而,这些端口号码可以用于任何通信目的。
      • 序列分配方法:服务器需要确定监控端口号码,然而,接受服务的客户端不需要指定端口号码。在这种方法下,客户端应用程序完全可以自由设置自己的端口号码,所有权利都分配给分配的操作系统。动态分配的端口数从49152到65535之间。

      1.4端口编号和协议

      • 端口数由它使用的层协议确定,因此,不同的层协议可以使用相同的端口数。
      • 此外,这些众所周知的端口号码与传输层协议无关,只要端口一致,同样的应用程序将被分配用于处理。

      2. UDP

      • UDP不提供复杂的控制机制,并且使用IP来提供不连接的通信服务。
      • 它是一个机制,将应用程序发送的数据立即发送到网络,当它被接收时。 即使在网络拥堵发生时,UDP也无法避免网络拥堵行为,例如流量控制。
      • 此外,在传输过程中会发生损失,UDP不负责重发。
      • 即使在数据包到达混乱序列时,也没有纠正函数。
      • 如果上述细节需要处理,则必须由UDP-based应用程序处理。
      • UDP通常以多种方式使用: 1.少量通信包(DNS、SNMP等); 2.多媒体通信,如视频和音频(即时通信); 3.应用通信,仅限于特定网络,如LAN; 4.广播(广播、多播)。

      3. TCP

      • TCP与UDP之间存在着相当大的区别,它能充分实现数据传输中各种控制功能,可以对丢失的包进行重新控制,也可以对破损的包进行序列控制。
      • 此外,TCP作为一种以连接为导向的协议,只在通信对手存在时发送数据,从而控制流量的浪费。
      • 基于这些TCP机制,可以在不连接的IP网络上实现高可靠性通信(主要是通过检查、序列编号、确认响应、重复控制、连接管理和窗口控制等机制)。

      握手三次(重点)

      • TCP提供以连接为导向的通信传输,以连接为导向的是指在数据通信开始之前,两个端之间进行准备。
      • 所谓“三个手”意味着当一个TCP连接建立时,客户端和服务器端必须一起发送三个包来确认连接的建立。

      让我们看下面的三手流程图:

      三次握手

      • 第一个握手:客户端设置SYN为1,随机生成值seq=J,并发送包到服务器,客户端输入SYN_SENT状态,等待服务器确认。
      • 第二次握手:从服务器端接收包后,SYN = 1表示客户端请求建立连接,服务器端设置SYN和ACK为1,ack=J+1,随机生成的值seq=K,并向客户发送数据包,以确认连接请求,服务器端输入SYN_RCVD状态。
      • 第三次握手:客户收到确认后,检查Ack是否是J+1,ACK是否为1,如果正确,将ACK标记在1,ack=K+1,并将数据包发送到服务器上,服务器端检查Ack是否是K+1,ACK是否为1,如果正确, 连接成功地建立,客户端和服务器进入“调用”状态,完成三次握手,然后,客户端可以开始在服务器和端之间传输数据。

      3.2四波(重点)

      • 四向波(英语:Four-way wave)是TCP连接的终止,这意味着当一个TCP连接终止时,客户端和服务端必须发送总共四个包来确认连接的终止。
      • 由于TCP连接完全双功能,因此,每个方向必须单独关闭,原则是当一方完成发送数据的任务时,发送 FIN以终止此方向的连接,收到 FIN 只 意味着 没有 数据 流入 这个 方向,也就是说,不再收到数据,但是,仍然可以发送数据的TCP连接,芬也被派往这个方向。关闭的第一方将执行主动关闭,另一方实施了消极关闭。

      让我们看下面的四个波流图:

      四次挥手

      • 中断的连接可以是客户端或服务器。
      • 第一波:客户端发送 FIN=M,关闭从客户端到服务器的数据传输,客户端输入Fin_WAIT_1状态。我是说,我的客户没有送给你的任何数据。但是如果你仍然有数据在服务器上并且传输尚未完成,你不必匆忙关掉连接.可以继续发送数据。
      • 第二波:从服务器端接收完毕后,首先发送 ack=M+1,告诉客户端,你的请求我收到了,但是我还没准备好,请继续等我。此时,客户端输入 FIN_WAIT_2状态,继续等待服务器端的 FIN消息。
      • 第三波:当服务器完成确认数据已经发送时,向客户端发送 FIN=N消息,告诉客户端:好的,我已把数据发送到这里,准备关闭连接。
      • 第四波:客户端收到 FIN=N消息后,你知道你可以关闭连接。但他也不相信网络。恐怕服务器不知道要关掉,所以发送 ack=N+1,输入 TIME_WAIT状态,如果服务器没有接收ACK, 它可以重新分配.收到服务器的ACK后,你知道你可以断开连接。客户等待2MSL,但仍未收到答复。证明服务器端正确关闭,那好,我的客户也可以关闭连接.最后, 四 个 手 被 握住 。

      上面的例子是,一方面是主动关闭,另一方面是被动关闭,实际上,也有主动关闭的同时启动的例子。

      具体流程如下图:

      同时挥手

      3.通过串行数字和确认响应来提高可靠性

      • 在 TCP 中,当发送器数据到达接收机主机时,接收机主机有返回已收到消息的通知的机会。这个消息称为确认响应(ACK)。当发送器发送数据时,它等待来自另一端的确认响应。如果有确认应答,说明数据已经成功地达到相反的目的.反之,数据丢失的概率很高。
      • 没有等待一定时间的确认响应,发送者可以假定数据已经丢失,然后检索。 因此,即使丢失发生,仍然可以确保数据能够到达相反的端点并实现可靠的传输。
      • 没有收到确认响应并不意味着数据必须丢失。 数据可能被另一方接收,但返回的确认在过程中应该丢失。
      • 此外,还有其他原因可能导致确认的到达延迟,而且它们往往只在源主重新发送数据后才到达,此时,源主只能根据机制检索数据。
      • 对于目标主机来说,重复接收相同的数据是不可接受的。 为了向顶级应用程序提供可靠的传输,目标主机必须放弃重复包。
      • 序列数是发送数据的序列中每个字符(8位)的数目。接收者查询接收数据TCP头部的序列数目和数据长度,发送回您应下一次收到的序列号码作为确认您应答复的.通过序列号码和认可的答复号码,TCP可以确定数据是否收到,它还能够确定是否需要接受,从而实现可靠传输。

      序列号和确认应答

      3.4延迟复发的确定

      • 重复超时是指在检索数据之前等待确认的特定时间间隔。 如果没有超过该时间的确认响应,发送者将检索数据。
      • TCP要求在任何网络环境中提供高性能通信,不管网络拥塞有多大,所有 国家 都 必须 保持 这 一 特点 。为此,它计算了每次装运的回程时间及其偏差。再加这个24小时时间和偏差时间,加班的复发比总数稍大.
      • 在BSD、Unix和Windows中,超时为0.5秒是单元控制的,所以复发超时为0。 乘5秒整数。
      • 如果数据被重新传输,并且确认响应没有收到,则再发送。 此时,响应确认的等待时间将由指数函数延长2到4倍。
      • 一旦达到一定数量的重复,如果仍然没有确认应返回的响应,它将确定在网络或外围主机上发生了异常,并迫使连接关闭。 并通知异常通信的应用,迫使终止。

      3.按段分发数据

      • 在建立TCP连接的同时,也可以确定发送数据包的单元,我们也可以称之为"最大消息长度"(MSS)。
      • 在传输大量数据时,TCP将数据单独发送到MSS的大小。 在重复情况下,该单元也称为MSS。
      • 当MSS三次握手时,它被计算在主机两端之间。当两个端上的主机发出建立连接的请求时,在TCP标题中写MSS选项,告诉对方自己的接口能容纳的MSS的大小。然后在两者之间选择一个较小的值输入。

      3.6使用窗口控制来提高速度

      • TCP由一个段落组成,每个段落发送一个段落,以及一个确认响应过程。 这种传输方式的一个缺点是,越长数据包的旅行时间,通信性能就越低。
      • 为解决这个问题,TCP引入了窗口的概念。确认答案不再在每个段落中,相反,它被更大的单位证实了,传输时间将大大缩短。也就是说,发送端主机,没有必要在发送一段后等待确认答复,而是继续发送。如下图所示:

      • 窗口控制
      • 窗口大小是继续发送数据而不等待确认响应的最大值。 上面的图中显示的窗口大小为4节。

      3.7 Slide Window Control

      滑动窗口

      • 即使没有收到确认响应,上述图中的窗口的数据也可以发送出去。不过,直到整个窗口的确认响应到达为止,如果一些数据丢失,那么发送者仍然会负责再发送。为此,发送器主机需要设置缓存来存储这些数据,以便再发送,答复应在收到确认之前作出。
      • 在滑动窗口外的部分包括未发送的数据和来自相反端的确认接收数据。 一旦数据发送,如果确认响应及时收到,它可以从缓存中清除,而不重新输入。
      • 当确认响应收到时,将窗口滑到确认响应中的序列数。 这样可以同时发送多个段,以提高通信性能。

      3.8窗口控制中的重复控制

      在使用窗口控制时,包的出现通常分为两个情况:

      • 1确认不能返回相应的答复。 在这种情况下,数据已经达到相反的端,不需要重复,如下图所示:

      部分确认应答丢失

      • 报告中的一个段落丢失.如果主机接收的数据不是它应该接收的序列数目,返回对迄今收到的数据的确认响应。如下图所示,报告的一个段落丢失时,发送器总是收到一个以序列编号1001的确认响应,因此,在窗口比较大,如 报告 的 段落 丢失,同一序列数的确认响应将重复返回。如果发送器主机连续三次收到相同的确认,相应的数据将被检索。该机制比上述加班管理更有效,它也被稱為高速反復控制。

      高速重发控制

      网络层中的IP协议

      • IP(IPv4,IPv6)是OSI参考模型的第三层,网络层。网络层的主要功能是“实现终端节点之间的通信”。
      • 网络的下一层——数据链层——在与数据链相互连接的节点之间的数据包传输中起着重要的作用。一旦你跨越多个数据链,就需要借助网络层。网络层可以跨越不同的数据链,即使在不同的数据链上,也可以实现两个端节点之间的包传输。
      • IP主要分为三个功能模块:IP地址、路由(传输到最终节点),以及IP包和组分。

      1. IP 地址

      1.1IP地址概览

      • 在计算机通信中,为了识别通信接口,必须识别与地址相似的代码。 数据链中的MAC地址是用来识别同一链中的不同计算机的识别代码。
      • 作为网络层的IP, 还有这个地址信息,它通常被称为IP地址。IP地址用于“确定所有与网络连接的所有主机的通讯目标地址”。因此,在TCP/IP通信中,所有主机或路由器必须设置自己的IP地址。
      • 不管一个主机连接到哪个数据链,其IP地址的形式仍然是相同的。
      • IP地址(IPv4地址)由32位正整数表示。IP地址在计算机内进行二进制处理。然而,既然我们不习惯二进制,我们将32位IP地址合并为8位数据包,分成4组,各派必被称作分开的,然后将每个组数转换为十进制数。如下:

      1.2IP地址由两个识别部分组成:网络和主机

      • 如下图,网络为数据链的每个节点识别不同的值。网络 识别 必须 确保 每个 相互 连接 的 分段 的 地址 不 重复 。与同一段连接的主机必须具有相同的网络地址。IP地址的“主机识别”不能在同一网络段中重复发生。由此,您可以设置网络地址和主机地址,确保每个主机的IP地址不会在相互连接的网络上重叠。IP地址是唯一的。

      IP地址的主机标识

      • 如下面所示,当一个IP包发送到中间的路由器时,用于路由的是目标IP地址的网络识别。

      IP地址的网络标识

      1.3 IP地址分类

      • IP地址分别分为A类、B类、C类和D类,其网络标识符与主机标识符是基于IP地址中的位数阵列的第1至第4位。
      • 类AIP地址是第一个以“0”开始的。其网络标识范围介于第1至第8。用十进制表示的话,~是类A的网络地址。类A地址的最后24位与主机标识符相符。因此,网络段内最多允许的主机地址为16,77,214。
      • B类IP地址是第一个“10”地址。它的网络标识范围从1到16。用十进制表示的话,~是B类网络地址。最后16位B类地址与主机标识符相符。因此,在网络段中允许的最大主机地址为65,534。
      • C类IP地址是“110”的第一个三个地址。从1到24是它的网络标识符。用十进制表示的话,~是C类网络地址。C-类地址的最后8位与主机标识符相符。因此,在网络段中允许的最大主机地址是254。
      • D类IP地址是第一个四个数字为“110”的地址。它的网络标识范围从第1到第32。用十进制表示的话,~是类D的网络地址。D类地址没有主机标识符,常用于多播。
      • 在分配IP地址时,必须注意 host 的识别问题。换句话说,如果你想用bit-to-bit来表示主机地址,它不能是全部0或全部1。由于总数为0, 它只使用在未知道相应的网络地址或IP地址的情况下.所有这些都是1的主机,通常是广播地址。因此,在分配过程中,这些 两 种 情况 应该 消除 。因此,C类地址只能为网络的每个分段提供254 ( 28 - 2 = 254) 主机地址。

      1.4 广播地址

      • 广播地址用于在同一链路中相互连接的宿主之间发送包。 设置IP地址的宿主地址部分为1,它成为广播地址。
      • 广播分为本地和直接广播。 在网络内广播称为本地广播;在不同网络之间广播称为直接广播。

      1.5 IP 多播

      • 多播(Multicast)用于向特定群中的所有主机发送数据包,由于它直接使用IP地址,所以没有可靠的传输。
      • 与广播相比,多播可以通过路由器,并且可以实现发送数据包只给那些需要的组别。

      • IP 多播
      • 多播使用D类地址,因此,如果第一个到第四位的地址是"110",它可以被视为多播地址。
      • 此外,在多播中,所有主机(除路由器和端口主机以外)必须属于该组,所有路由器必须属于该组。

      1.6 子网掩码

      • 现在,IP地址的网络识别和主机识别不再局限于地址的类别,它是一个被称为“子网掩盖”的识别代码,通过子网地址将比A、B和C小粒子的网络分开。该方法实际上使用原始类A、B、C等的主机地址部分作为子网地址。可以将原始网络分成多个物理网络的机制.
      • 子网加密以二进制形式表达,它也是32位元的数字。它与"1"的所有位数的IP地址网络识别部分相符,相应的IP地址主机标识符都是“0”。由此,IP地址不再局限于其自己的类别,相反,这样的子网可以被编码以自由地定位自己的网络识别长度。当然,子网面具必须是IP地址的第一个连续开始的“1”。
      • 例如,第一个26位元是网络地址,如下:

      • 第二种方法是将每个IP地址后面的网络地址数目,用“/”分隔如下:

      2. 路由

      • 发送包的地址是网络层的地址,即 IP 地址。然而,只有一个IP地址是不够的,以发送一个包到相反的目标地址,在数据传输过程中,也需要类似“指示路由器或主机”的信息,这样你就可以把它送到目标地址。路由控制表是存储这些信息的.
      • 路由控制表有两种形式:一种由管理员手动设置,另一种是当路由器与其他路由器交换信息时自动更新。
      • IP协议总是认为路由表是正确的,因此,IP本身并不定义创建路由控制表的协议,也就是说,IP并不创建路由控制表的机制。

      2.1IP地址及路由控制

      • IP地址的网络地址部分用于路由控制。
      • 路由控制表记录了向路由器发送的网络地址和下一个地址。
      • 发送IP包时,首先,在IP包的第一部分确定目标地址,然后从路由控制表找到与该地址相同的网络地址的记录,基于此记录, IP 包被发送到相应的下一个路由器。如果在路由控制表中存在同一网络地址的多个记录,选择最合适的网络地址。

      路由器控制表和IP包发送

      3.IP包装和包装

      • 每个数据链的最大传输单元(MTU)并不相同,因为不同类型的数据链的用途不同。
      • 任何主机都必须对IP芯片进行相应的处理。 当它们遇到一个不能同时发送的网络上更大的消息时,分组往往被处理。
      • 分区后报告的IP数据只能在重新组织时由目标主机进行。 路由器即使是一个分区,也不会重新组织。

      3.第一阶段MTU发现

      • 分离机制也有其缺点,例如处理负载的路由器类型,因此,只要允许,路由器不应该处理IP包的位图。
      • 为了解决分离机制的缺陷,提出了路径MTU发现技术。 路径MTU是指发送主机与接收主机之间不需要芯片的最大MTU大小,是路径中所有数据链中最小的MTU。
      • MTU发现,在中间路由器上可以避免芯片处理,也可以在TCP中发送较大的包。

      4. IPv6

      • IPv6(IP 版本 6)是一个标准化的网络协议,旨在解决IPv4地址耗尽的问题。IPv4地址长度为4个8位字节,即 32 比特。IPv6的地址长度是原来的4倍,即 128 比特,它通常用8个16位字符写成。

      4.1IPv6的功能

      • 通过路由控制表进行IP扩展的聚合.
      • 性能改进:第一部使用固定值(40字节)不再使用第一个检查代码。 简化初始结构,减少路由器的负载。
      • 支持即时插件功能,即使没有 DHCP服务器,也可以实现自动分配IP地址。
      • 使用身份验证和加密功能,解决IP地址伪造的安全功能以及防止电缆黑客的功能。
      • 多播, 移动IP成为一个扩展功能.

      4.2在IPv6中标记IP地址的方法

      • 一般来说,128位IP地址被分成16位,每个组被单独标记为缩写(“:”).
      • 此外,如果有连续的0,这些0可以被忽略并由两个缩写("::")分开。

      4.3IPv6地址结构

      • IPv6(英语:IPv6)和IPv4(英语:IPv4)类似,也是一个类型的IP地址,可以由一个IP地址的头几位标识。
      • 在互联网通信中,使用全球单通道地址,这是互联网上唯一不需要正式指定IP地址的地址。

      4.4全线广播地址

      • 全球单通道地址是世界上唯一的地址,是互联网和域内通信中最常见的IPv6地址之一。
      • 在IPv6网络中使用的格式是 n = 48, m = 16 和 128 - n - m = 64,如下图所示。

      全局单播地址

      4.5连结本地单播地址

      • 链路本地单播地址是同一数据链中的唯一地址,用于在同一链路中通过路由器进行通信。 通常,接口ID存储64位版本的 MAC地址。

      链路本地单播地址

      4.6只有本地地址

      • 唯一的本地地址不是通过互联网进行通信的地址。
      • 唯一的本地地址虽然没有连接到互联网,但将尽可能随机生成唯一的全球ID。
      • L 通常被置为 1
      • 全球ID的随机决策值
      • 子网ID指域的子网地址
      • 接口ID是一个接口ID。

      唯一本地地址

      4.7IPv6分段处理

      • IPv6芯片组处理仅在发送器主机上进行,路由器不参与芯片组处理。
      • IPv6中最小的MTU是1280字节,这意味着在内置系统中对于具有有限系统资源的设备不需要“路径MTU发现”,但在发送IP包时直接发送在1280字节的单元中。

      4.8 IP总部(临时)

      5.IP协议相关技术

      • IP的目的是允许最终目标主机接收数据包,但只有拥有IP才能在进程中实现通信。 此外,必须有分析主机名称和MAC地址的能力,以及处理发送过程中数据包中的异常的能力。

      5.1 DNS

      • 我们通常不使用IP地址访问网站,相反, 使用一个由罗马字母和标记组成的字母串.一般用户在与TCP/IP通信时不使用IP地址。这是由于DNS(域名系统)功能的支持而可能的。DNS可以自动转换该字符串到特定IP地址。
      • 此 DNS 不仅适用于 IPv4, 而且适用于 IPv6 。

      5.2 ARP

      • 一旦确定一个IP地址,就可以向该目标地址发送IP数据消息。 然而,在数据链层底部,在实际通信时,必须知道每个IP地址的相应的MAC地址。
      • ARP是解决问题的一种协议.使用目标IP地址作为线索,定位下一个网络设备的MAC地址以接收数据包.然而,ARP只适用于IPv4,在IPv6中不能使用。在IPv6中,可以使用ICMPv6代替ARP发送邻居搜索信息。
      • RARP是逆转ARP的协议,从MAC地址定位IP地址。

      5.3 ICMP

      • ICMP的主要功能包括验证IP包是否成功交付到目标地址,通知发送过程中丢弃IP包的具体原因,以及改善网络设置。
      • 在IPv4中,ICMP只支持IPv4作为辅助函数。也就是说,IPv4期间,即使没有ICMP,IP通信仍然可能。然而,在 IPv6 中,扩大了廉政公署的作用,没有ICMPv6,IPv6不能正常通信。

      5.4 DHCP

      • 为每个主机单独设置IP地址将是非常繁琐的。 特别是,当使用移动设备,如笔记本电脑、终端和平板电脑时,每次移动到一个新的位置,必须重新设置IP地址。
      • 于是,为了实现IP地址的自动设置和统一管理IP地址分配,DHCP(Dynamic Host Configuration Protocol)协议被开发。有了 DHCP,电脑只是连接到网络上,TCP/IP通信是可能的。也就是说,DHCP 使 立即 的 相互 连接 可能 。
      • DHCP不仅在IPv4中使用,而且在IPv6中使用。

      5.5 NAT

      • NAT(Network Address Translator)是一种用于使用本地网络中的私人地址和连接到互联网时使用全球IP地址的技术。
      • 除了转换IP地址外,还引入了NAPT(Network Address Ports Translator)技术,该技术可以转换TCP和UDP端口号码,允许使用全球IP地址与多个主机通信。
      • NAT(NAPT)实际上是针对地址不足的IPv4开发的技术,然而,NAT在IPv6中也用于提高安全性,而NAT-PT经常用于IPv4和IPv6之间的互连。

      5.6 IP 隧道

      有IPv4网络的两个IPv6网络

      • 在上述网络环境下,A网络和B网络不能直接通信,因此必须使用IP隧道的功能来正常通信。
      • IP隧道可以将来自A网络的IPv6包入数据集,然后将IPv4的初始部分添加到C网络中。
      • 一般情况下,在IP头的旁边是TCP或UDP头。然而,现在越来越多的应用,例如“IP Header Behind or IP Header”或“IP Header Behind is IPv6 Header”。将网络层的第一个部分添加到网络层的后面的方法称为“IP隧道”。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/28105.html

          热门文章

          文章分类