WeSeong 登录
← 返回文章列表
网络

2. 网络类型、OSI 7 层、协议(数据链路层、网络层、传输层)

网络类型、OSI 7 层、协议(数据链路层、网络层、传输层)

我们先从网络层的 ICMP 协议开始吧!


接下来,我想学习如何在 VMware 中将网络更改为 Host-only、NAT 和 Bridge。 (顺便说一句,《四块拼图》吗?)


一、概述

网络层使用 ICMP(Internet Control Message Protocol), IGMP(Internet Group Management Protocol) 协议。ICMP 是用于交换数据包过程中错误消息的协议,IGMP 是涉及多播的协议。传输层,也就是 层,由 TCP(Transmission Control Protocol) 和 UDP(User Datagram Protocol) 组成。TCP 是基于 3-way-handshake 的可靠连接型协议,UDP 是不靠谱的连接型协议,重点强调速度。 网络服务到 NAT(Network Address Translation)定义内部 IP 和外部 IP. 接下来, DHCP(Dynamic Host Configuration Protocol)定义了 IP 的地址分配方法。



二、协议(侧重于网络和传输层)

  1. 网络层协议 (Protocol)

继上一篇文章之后,我们来看一下网络层 ICMP(Internet Control Message Protocol) 为了解释协议,它控制主机服务器和网关(路由器)之间的消息交换,并报告错误。 ICMP有许多典型命令使用它。

ping 10.10.10.2

如果输入命令 后面的 ping 和要检查连接的地址 (IP 地址,域名地址均可) ,如果连接正常建立,则会出现如下图所示的消息。如果连接无法正常建立,则会出现错误消息。ping 可以发送临时数据包来检查服务器的响应状态。


IP由于未连接的协议无法保证数据包的交付,因此如果路由器或节点(主机)发生错误,数据包无法到达目的地,则需要通知发送方其状态。 ICMP 诊断多个路由器接收协议的情况以及目标节点的情况。 ICMP 该协议是 IP 在协议上运行的上层(传输层) TCP, UDP 虽然与协议分开,但它们相似 IP 它基于前一篇文章中描述的协议工作。 IP 协议 TTL(Time To Live)这有关联。 ICMP 在数据包结构中需要注意的部分包括 Checksum也就是说。 Checksum它负责检测数据包中的错误。它计算 1. Carry 反映位操作,最终 Checksum 计算.


※ Checksum 的计算方法和 Carry 的位运算方法尚未完全明了,请参考其他帖子。



请参阅《Linux 和网络》讲座大纲

ICMP错误消息有两种类型:用于错误通知的错误消息和诊断问答消息。 ICMP Echo Request 此消息用于验证发送节点的传输数据包是否已到达目的节点或路由器。发送节点(发送请求的主机)发送一个 'ICMP Echo Request 消息'将其发送,并从目标节点接收 'ICMP Echo Reply 消息'收到回复后,数据包被确认为已成功发送。 ICMP Destination Unreachable 当路由器无法从特定节点将数据包发送到目的地时,它会向发送节点发送一条消息。 'ICMP Destination Unreachable 消息 '' 已发送。 其中包含了未能到达目的节点的原因。 无法找到通向目的节点的 IP 地址路径的路由器会将此消息返回给发送路由器。发送节点会解析此消息并确定数据包未到达目的节点。


※ Echo是 Unix 系统中的一条命令,用于将字符串输出到终端。Linux (ubuntu) 也是基于 Unix 的系统,因此此命令存在。它不仅用于简单的字符串输出,还常用于 shell 脚本中。


ICMP Redirect 消息如果路由器配置的路径不适合发送节点,则它会发送消息,重新配置到目的节点的优化路径。 ICMP Time Exceeded 此消息之前已发送 IP 协议 TTL为了防止数据包在网络之间无限循环, TTL如果此值为 0 'ICMP Time Exceeded 消息'数据包被返回并丢弃。每当数据包从源节点通过一个路由器时,它就减少一次,当它在到达最终目的节点之前降为零时,就表示数据包未能正确交付。


请参阅《Linux 和网络》讲座大纲

ICMP Source Quench 在使用低速广域线路等情况下,消息会被发送。 WAN 在特定路由器上 瓶颈这种情况可能发生,为了缓解这种集中情况,发送器队列值保持为 '0',发送器无法进行发送。 'ICMP Source Quench 消息'它被发送到发送节点,该节点解析消息并控制发送的数据包数量,因为线路在某处出现拥塞。



请参阅《Linux 和网络》讲座大纲

※ 低速广域线路它们是什么? WAN 它们是区域范围的通信网络,主要用于发送语音数据。 VoIP ( Voice 以上 IP) 都在使用,建议您查阅详细概念。


下一篇 IGMP(Internet Group Management Protocol)有个协议。 多播组在讨论多播作为管理此协议的方法之前,我们需要了解单播和广播。 单播是一个主机与另一个主机之间的一种一对一关系。通常 IP 所有数据传输都是单播。我们(普通用户)连接到 Naver 或 Google 的过程可以视为单播。 广播位于主机上 IP 将数据传输到网络中的整个主机。在上一篇文章中 IP 如果我们考虑协议的类概念,则会将数据传输到与每个类对应的所有网络分段,例如,连接到交换机的所有设备。 '255.255.255.255'并向特定网络进行广播 直播它说, '211.32.34.0' 要通过网络传输数据,请将目标地址用作211.32.34.255'你只需要指定它。也就是说,是一个特定的 IP这不是单一的传输,而是广泛的数据传输。 ARP(Address Resolution Protocol) MAC 在查找地址时使用,或稍后处理 DHCP(Dynamic Host Configuration Protocol)当它是动态的时 IP 在分配地址时使用。 多播它是单播和广播的混合形式,其中一个主机向一组特定主机发送数据。 我已经绑定了这个特定主机这是一个多播组,它非常高效,因为组中的所有主机都会接收数据。


2. 传输层协议 (Protocol)

此层最重要的协议是 TCP(Transmission Control Protocol)和 UDP(User Datagram Protocol)让我们想象一下前一篇文章中描述的情况:你正在给农村的祖母或祖父寄一封信。为了寄信,我会用笔在一张小纸上写下信件。然后将信封装入信封,放入邮箱。在这种情况下,信件就是一个包,添加到信件中的信息旨在确保信件的安全交付,就像信件被装入信封一样。 OSI 7 层代表了各层协议的角色。邮箱可以被视为一张局域网卡,就像数据包从第一层物理局域网卡开始一样。在这种情况下,邮局将是一个网关(路由器),信件将通过每个网关,送达最终目的地。在邮局,信件将被加盖邮戳,或者作为普通邮件寄出,或者通过注册邮件寄出,以便更快地送达。邮戳就是 TCP和 UDP它变成了。


然后 TCP为了解释, TCP这是发送者向接收者确认已收到数据包并确切地知道接收者是谁的一种方式(3-way-handshake)这意味着要相互交流。所以 面向连接Connectionoriented) 它被称为协议,负责管理数据流、验证数据是否正确以及进行通信。 优点包括高可靠性、数据控制流、数据校验和超时以及重传,但缺点是速度可能较慢。 另一方面, UDP一旦发送,它不会经过确认过程,以确定是否正确接收到响应。(您可以请求回复,但无法保证回复会被正确接收。). 因为它只是发送完毕 以断开连接为导向 这是一种协议。由于发送系统和目标系统之间没有相互通信,即使在传输过程中丢失了一些数据,也无需重传。由于它最初未连接,因此不需要任何有关丢失数据的信息。 我不知道。 其实, 这种传输方式的优点是速度快,减少了网络负载,但数据可能会丢失,可靠性较差。 由于速度快,它非常适合实时任务,例如视频流和游戏,因此可以根据应用程序使用 TCP 和 UDP。没有一种传输方式是特别优秀的。


※ 您必须在 头 中定义操作模式,以确定使用哪种传输方式。


TCP 中的一个关键概念是 '3-way-handshake'。当客户端连接服务器时,它会发送 SYN(Synchronize)。服务器正确接收了此消息,并通过发送 SYN 以及 ACK(Acknowledgement) 来响应。然后客户端连接到服务器,并将 ACK 发送回服务器,以表示已连接。此过程包括三个步骤,例如拨打朋友的电话,检查他们是否在家,接收到他们在家的响应,然后在接听电话时告诉朋友你是谁。连接持续保持,直到呼叫终止。为了说明此过程,请参考以下图表:


请参阅《Linux 和网络》讲座大纲

这就是工作原理。当您尝试断开连接时,客户端会将 FIN(Finish) 发送给服务器。服务器会发送 ACK 作为响应,然后发送 FIN。客户端随后会将 ACK 发送给服务器,连接便会终止。如果您在图中查看此过程,它看起来如下所示:


请参阅《Linux 和网络》讲座大纲

就是这样。这里。 SYN包中包含有关连接请求的信息 TCP 它将被包含在协议部分中,在处理连接请求和设置时,将增加 1。 ACK是通信伙伴的数据包序列的值。 FIN是 1 TCP 当客户端和服务器断开连接时,它们会在数据包中包含此数字,表明连接正在终止。


※ 您可能会疑惑为什么会有连接终止过程。 提供大规模服务的服务提供商,如 Naver,拥有大量服务器来为我们提供无缝的服务,但服务器资源是有限的。如果我们始终保持所有连接打开,那么必然会出现以下情况: 服务器资源有限 由于预计将要使用,因此需要一个关闭过程,以便通过在需要时连接和关闭来高效地管理内存。



用于检查操作系统中运行的进程或服务器状态的命令 'netstat'有的。上面 '-anp'是一个选项 'a'表示整个 'n' IP 这意味着地址, 'p'指的是流程。 TCP其中 3-way-handshake在客户端和服务器之间的连接过程中,如前所述 LISTEN知道这件事很好。 LISTEN服务器正在运行,并准备响应外部请求。 Local Address在 '0.0.0.0:如果在 80 端口接收到请求 这意味着允许访问。这里 '0.0.0.0'一切都好 IP 这意味着地址,而它的正上方是 '127.0.0.1'是他的 IP 地址通常是本地主机 (Local Host)它的名字是。在最左侧,您可以看到一个熟悉的术语: TCP和 UDP这里,我们展示了每台服务器如何连接,以及 TCP和 UDP你会理解,但数字 6 会让你感到陌生。 TCP和 TCP6区别在于它能区分地址系统是 IPv4 还是 IPv6。 TCP就是我们熟悉的那个0.0.0.0' IP 它是发往一个地址的,但 TCP6 ':::'它是用 C 语言编写的。


'0.0.0.0'所有这些 IP 正如地址所示, ':::' IPv6从所有 IP 这意味着地址。 LISTEN 下面 ESTABLISHED您应该看到此信息,这表示连接成功。此外,0.0.0.0:在 80 中, ':' 后面的数字是 80 端口 (Port) 编号在当前运行在操作系统上的多个服务器上,端口号不能重复。也就是说,每个服务只允许使用一个端口号。通常,网站上的所有服务都使用默认端口号 80,而且很有用地知道每个协议都有一个默认的端口号。协议的端口号范围为 0 到 40。客户端也有端口号,浏览器在连接时会自动分配这些端口号,以避免重复。在下面的表中,我们列出了各种协议的默认端口号。 IP 如果地址不可见,则表示这是一个运行在操作系统内部的进程,位于屏幕左侧。unix'您可以看到,这种行为意味着系统内运行着一个进程。这个 'unix'Windows 运行着大量的进程,即使在启动时也是如此。如果您了解启动程序,就可以更容易地理解。其中包括一些内部进程,它们执行共享文件夹功能,显示 Windows 界面,并使鼠标或键盘更容易进行控制。 Linux在 只需将其视为"unix"部分即可。


※ 如果服务正常运行,您访问的是正确的端口号,但无法访问服务器,请检查您的防火墙!



请注意,这与 Linux 命令的特性有关。使用管道符号,例如 '|',可以连续执行多个命令。因此,如果在 netstat -anp 命令后添加 '|' 符号,并输入搜索命令 grep 和搜索项,则只会输出运行的相关服务器或进程。


既然我们已经讨论了进程的过程,那么我们来介绍一些相关命令:'ps '-ef 'e' 选项显示所有进程信息,而 'f' 选项显示更详细的信息。


这里看起来是这样的。 PID如果你知道这一点,则可以使用该命令终止进程。 'kill -9 进程 ID'如果您输入它,则可以终止该进程,而 '9' 选项会强制其关闭。


※ 您还可以使用 'w' 指令来检查连接信息!



Ⅲ. 网络服务

  1. 网络地址转换(NAT)

当您之前首次发布网络时,它是内部网络。 IP而在外面 IP我已经告诉你了。 内部 IP是一台路由器通过 连接设备之间的共享 IP 这是地址。 外部 IP需要使用 Naver 和 Google 等外部服务。 IP 这就是地址。里面 IP 外部地址 IP 按地址 映射 (Mapping)有办法可以做到这一点,那就是 NAT也就是说。 NAT是一个内部 IP 地址和一个外部 IP 映射采用一对一方式 Static NAT还有多个内部 IP 地址和多个外部 IP 地址动态映射 Dynamic NAT有的。 Static NAT由于要更改的地址已经指定, 'this internal IP由于我们可以看到这是一个外部 IP,因此可以从外部向内部进行通信。因此,从提供服务的角度来看,可以从外部向外部进行通信。 IP 采用此方法是因为在访问该地址时,服务器必须已连接,且服务必须已提供。 Dynamic NAT是外部的 IP Pool创建一个,不要使用不需要的那个。 IP动态映射。外部 IP内部的数量 IP 如果数量小于一,则无法按一对一的方式进行映射,因此使用此方法。 IP 内部编号 IP 因为它小于数字,所以它已经是外部的了。 IP如果它正在使用中,可能有其他私有(内部)连接从外部传入。 IP且无法映射。



  1. DHCP(动态主机配置协议)

DHCP 服务器正如我们之前已经解释过的那样,某些(多个)设备必须属于同一网络频段,才能 IP 它起着请求和分配地址的作用。例如,使用笔记本电脑访问咖啡馆 WIFI如果您进行连接,则在连接过程中 DHCP 是否存在服务器 广播他问。收到的 DHCP 服务器拥有自己的 IP 告诉我地址,我可以分配给它。 IP 它提供了一个地址。由于它是广播的,同一网络分段中的所有设备都可以接收此消息。 IP 当我知道地址后,我要求分配给我这个地址。 DHCP 服务器在分配资源的同时 网络信息这是通过传输的。为了说明这个过程,请参考以下图:




评论

我们花了近半天的时间来介绍网络、网络类型、OSI 模型的 7 层、数据链路、网络和传输层的协议。我还有很多东西要学习,而且我觉得网络是一个很广大的领域。😔 这有点令人失望,但我没有办法在如此短的时间内了解和记忆所有内容。我会满足于目前所学到的内容,并继续学习和补齐知识上的空白。🙂