
于此止个人主页本文选自专栏《Linux网络》❄️个人专栏传送门《Linux篇》 《QT百日筑基篇》 《算法篇》《C与STL剖析篇》 《数据结构篇》 《Python基础篇》 《嵌入式砺剑录》⭐️纵有狂风拔地起我亦乘风破万里⭐️Linux网络基础前言 我们这里主要是认识一下对应我们初学网络的一些背景知识我们的网络协议TCP/IP协议 还有精谈我们对应网络和系统之间的一些了解。目录/索引目录Linux网络基础目录/索引一、计算机网络背景网络的发展独立模式网络互联局域网LAN广域网WAN二、初识协议理解协议协议分层软件分层的好处OSI的七层模型TCP/IP的五层模型三、再识协议为什么要有TCP/IP协议本地通信 vs 网络通信管理我们的主机软件什么是TCP/IP协议TCP/IP协议与操作系统的关系宏观上是怎么进行实现的所以究竟什么是协议四、网络传输的基本流程局域网网络传输流程图局域网以太网为例通信原理认识MAC地址数据传输的规则信息传输的封装与解包每层报头的命名TCP/IP通讯的过程再次了解我们的封装和解包五、跨网络传输流程图网络中的地址管理——认识IP地址理解IP地址的意义IP地址 vs Mac地址提炼IP网络的意义和网络通信的宏观流程一、计算机网络背景网络的发展网络的发展主要可以有以下的几个阶段独立模式-联网模式-局域网LAN -广域网WAN。独立模式独立模式计算机相互独立;我们下图有三个计算机 每个计算机都有自己独立的终端。我们有三个工作人员 分别完成下面的一些工作。这也是我们每个角色分配好的工作。我们每台计算机都只是执行一个业务业务之间也不相互的进行联系。网络互联网络互联 多台计算机链接在一起完成数据的共享。我们三个人同时使用一个后台的服务器。然后我们每个人都有一台独立的电脑我们能在这个电脑每个人都能跑各自的业务。局域网LAN局域网LAN计算机的数量增多通过交换机和路由器连接在一起这样一来就能让我们的计算机更多的进行联网了。主要是从局部到整体。广域网WAN广域网WAN将远隔千里的计算机简介到一起。他的定义和我们的局域网LAN是类似的都是实现多个计算机之间进行联网的。只是局域网要求我们计算机的间隔要近一些我们的广域网要远一些。实现我们的计算机之间的连接。我们所谓的广域网也可以认为是一个比较大的局域网。网络发展的必然性 计算机是人的工具人要进行协同工作注定了网络的产生式必然的。我们有各式各样的通信标准。以太网无线LAN令牌环网......。然而这些网都有一些独自的网络协议 我们下面就来认识一下这些网络协议。二、初识协议减少通信成本协议是一种约定。理解协议我们先给出协议的规定。我们每个人想要更好的去遵循一套标准制作这一套标准的公司必须是遥遥领先的这样我们每个人都去使用这一套对应的标准这样我们每个人都是用一套相同的标准进行网络的使用 我们将这种我们都要遵循的方法叫做协议 也是我们使用网络的一种约定。所以1.协议是一种约定。当我们有一些玩的很好的朋友我们之间会有一些约定比如我们可以打电话为例当我们在学校中我们可以和父母之间进行一些约定 比如我的电话铃声响了一秒就代表我没有生活费了 我们铃声响了2s就代表我在给家里保平安 3s代表我想让你接电话。所以我们在打电话的时候也可以约定一些协议。2.打电话的铃声的秒数就是是一个约定。而在我们计算机中计算机传递的媒介主要是光信号和电信号。这两者主要是通过“强弱”和“频率”来表示0和1这样的信息要想传递各种不同的信息就要约定好双方的数据格式。思考 只要通信的两台主机约定好协议就可以了吗1.定好协议但是你用的频率表示01我的强弱表示01。就好比我说中文的你好 你说英文的你好虽然遵守的协议是一样的 但是我们之间的语言是不同的就定好了基本的协议也是无法正常的进行通信的。所以完善的协议需要更多细致的规定并让参与的人都要遵守。1、计算机的生产厂商有很多。2、计算机的操作系统也有很多。3、计算机的网络硬件也有很多。4、如何让这些不同厂商之间生产的计算机能够相互顺畅的通信就需要有人站出来约定一个共同的标准大家都来遵守这就是网络协议。一般是具有定制协议或者标准的资格和组织或者公司必须是业界公认或者是具有江湖地位的组织或者公司才会定制这些协议这有这样我们大多数人都会遵循这些协议。我们简单的看一下有哪些协议是由哪些公司规定的。这里是由Deepseek生成ai关键词能定制协议标准的组织或者公司制定网络协议标准的主流组织与机构一、国际权威标准化组织核心制定方非营利中立机构1. ISO国际标准化组织定位全球最大综合标准化机构制定通用网络体系框架核心成果OSI 七层网络参考模型奠定网络分层设计思想是所有网络协议的理论框架还制定物理层、数据链路层诸多硬件通信标准。2. IEC国际电工委员会常与 ISO 联合制定通信、电气底层硬件通信标准侧重硬件电气传输规范。3. ITU-T国际电信联盟电信标准化部门隶属于联合国主管电信运营商、广域网、语音通信、传输链路标准代表作早期电话通信协议、PPP 协议、宽带接入标准、光纤传输协议传统电信网络协议主力制定者。4. IETF互联网工程任务组最贴近 TCP/IP 互联网体系✅互联网最核心性质松散开放的国际工程师联盟非营利现代互联网协议的绝对主导核心产出 TCP/IP 协议簇、IPv4/IPv6、HTTP/HTTPS、UDP、DNS、WebSocket、QUIC、BGP 路由协议等几乎所有互联网主流协议产出形式RFC 文档所有网络协议规范均以 RFC 编号公开存档二、行业技术联盟 / 论坛产业协同定制标准1. IEEE电气和电子工程师协会聚焦局域网、无线通信底层链路标准代表作802.3 以太网标准、802.11 WiFi 无线局域网协议、蓝牙底层规范电脑网线、无线网标准均由此制定。2. W3C万维网联盟专注网页应用层协议与 Web 规范成果HTTP 系列、HTML、CSS、WebSocket、WebRTC、HTTPS 安全相关 Web 应用协议负责浏览器与网页通信标准。三、具备协议制定影响力的大型商业公司无法单独定义通用国际标准但可推动 / 设计私有协议最终可提交标准化谷歌自研 QUIC 协议提交至 IETF 标准化为 HTTP/3主导 SPDY 演进为 HTTP/2自研私有通信协议广泛用于安卓、云服务。微软早期私有局域网通信协议参与 IETF 标准化工作推动 Windows 网络适配规范。苹果参与 WiFi、蓝牙、流媒体通信标准制定自研 AirPlay 私有投屏协议。华为、思科路由、传输层协议的重要贡献厂商向 IETF 提交大量技术草案主导广域网、运营商网络优化协议思科早年私有路由协议曾大范围商用。四、补充关键常识不存在某一家公司可以独自垄断通用互联网协议全网互通要求标准中立开放商用私有协议仅局限于自家产品内部使用TCP/IP 体系早已取代 OSI 模型成为现实互联网标准IETF 是当下互联网协议最核心的制定主体硬件传输网线、WiFi看 IEEE电信广域网看 ITU-T网页应用看 W3C整体框架由 ISO 定义。协议分层协议本质也是软件在设计上为了更好的进行模块化解耦合也是被设计成层状结构的。软件分层的好处举个例子我们的在打电话的过程中我们属于语言层我们和接电话的人负责语言之间的交流 而我们之间的交流不是面对面而是使用电话来进行交流的 我们通过调用下层对应的接口输出信息而后通过电话之间的协议将我们说的话进行加密传输而后经过接收人的电话进行解密输出给用户甚至我们除啦A和C之间的交流我们还可以A和B之间进行交流我们每一层都有每一层要做的事能更好的进行解耦合。总结1.在这个例子中我们的协议只有两层语言层、通信设备层。2.但是实际的网络通信协议中设计会更加的复杂需要更多的层。3.但是通过上面的简单例子我们是能理解分层可以实现解耦合让软件维护的成本更低。在这我们可以看到我们对应的网络的协议主要是OSI我们现在就来深度的了解一下OSI。OSI的七层模型OSIOpen System Interconnection开放系统互连七层网络模型称为开放式系统互联参考模型是一个逻辑上的定义和规范把网络从逻辑上分为了 7 层。每一层都有相关、相对应的物理设备比如路由器交换机OSI 七层模型是一种框架性的设计方法其最主要的功能就是帮助不同类型的主机实现数据传输它的最大优点是将服务、接口和协议这三个概念明确地区分开来概念清楚理论也比较完整。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯但是它既复杂又不实用所以我们按照 TCP/IP 四层模型来讲解.分层名称功能每层功能概览7 应用层针对特定应用的协议。电子邮件 → 电子邮件协议远程登录 → 远程登录协议文件传输 → 文件传输协议6 表示层设备固有数据格式和网络标准数据格式的转换。网络标准格式接收不同表现形式的信息如文字流、图像、声音等5 会话层通信管理。负责建立和断开通信连接数据流动的逻辑通路。管理传输层以下的分层。何时建立连接何时断开连接以及保持多久的连接4 传输层管理两个节点之间的数据传输。负责可靠传输确保数据可靠地传送到目标地址。是否有数据丢失3 网络层地址管理与路由选择。经过哪个路由传递到目标地址2 数据链路层互连设备之间传送和识别数据帧。0101数据帧与比特流之间的转换分段转发1 物理层以“0”、“1”代表电压的高低、灯光的闪灭。界定连接器和网线的规格。0101比特流与电子信号之间的切换连接器与网线的规格其实在网络角度OSI 定的协议 7 层模型其实非常完善但是在实际操作的过程中会话层、表示层是不可能接入到操作系统中的所以在工程实践中最终落地的是 5 层协议。但是要理解上面的话需要我们学习完网络才可以理解这里就知道就可以。TCP/IP的五层模型TCP/IP 是一组协议的代名词它还包括许多协议组成了 TCP/IP 协议簇. TCP/IP 通讯协议采用了 5 层的层级结构每一层都呼叫它的下一层所提供的网络来完成自己的需求.物理层: 负责光 / 电信号的传递方式。比如现在以太网通用的网线 (双绞线)、早期以太网采用的同轴电缆 (现在主要用于有线电视)、光纤现在的 wifi 无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器 (Hub) 工作在物理层.数据链路层: 负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步 (就是说从网线上检测到什么信号算作新帧的开始)、冲突检测 (如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网无线 LAN 等标准。交换机 (Switch) 工作在数据链路层.网络层: 负责地址管理和路由选择。例如在 IP 协议中通过 IP 地址来标识一台主机并通过路由表的方式规划出两台主机之间的数据传输的线路 (路由). 路由器 (Router) 工作在网络层.传输层: 负责两台主机之间的数据传输。如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.应用层: 负责应用程序间沟通如简单电子邮件传输SMTP、文件传输协议FTP、网络远程访问协议Telnet等。我们的网络编程主要就是针对应用层.物理层对我们来说考虑的比较少因为贴近底层因此我们主要考虑TCP/IP的四层模型。一般而言1.对于一台主机它的操作系统内核实现了从传输到物理层的内容。2.对于一台路由器它的实现从网络层到物理层。3.对于一台交换机他的实现是从数据链路层到我们的物理层。4.对于集线器他只实现我们的物理层。但并不是绝对很多的交换机也实现了网络层的转发也有很多的路由器也实现了部分传输层的内容比如端口转发。三、再识协议上面的内容只是说明了一些协议的基本内容 下面我们再次的深度的理解我们的协议。为什么要有TCP/IP协议首先即便是单机你的计算机内部其实都是存在协议的比如其他设备和内存通信会有内存协议。其他设备和磁盘通信会有磁盘相关的协议比如SATAIDESCSI 等。只不过我们感知不到罢了。而且这些协议都在本地主机各自的硬件中通信的成本、问题比较少。其次网络通信最大的特点就是主机之间变远了。任何通信特征的变化一定会带来新的问题有问题就得解决问题所以需要新的协议咯。我们下面使用主机A给下面的BCD发送消息。我们会出现很多的问题。当然我们有了对应的协议 我有很多的问题这时候我们不能只有一个协议 我们要在一个大的协议中再次分成一些小的协议 这样我们能解决更多的问题 并降低耦合。所以为什么要有TCP/IP协议本质就是通信主机距离变远了。当然有这么多的主机联网发送消息 我们要怎么进行我们对应机器的管理呢本地通信 vs 网络通信本地通信是所有设备是被线给链接起来的 所以计算机内部我们之前说的冯诺依曼体系本身也是一个网络结构。网络通信多台主机通过网络进行通信 本质也是设备到设备 其中唯一的区别 单纯的是线被拉长了。我们的本地通信还好 但是我们的网络通信会出现一些新的问题1.如何让处理数据。2.数据丢失怎么半 3.怎么定位目标主机当然有这些新的问题也就有新的就解决方案。管理我们的主机软件答 先描述在组织。我们在内部会存在一些结构体让我们发消息的时候能进行对应的描述我们发送消息的结构体。struct XXX{ //当前的主机IP //收到信息的主机IP //要进行发送的消息 //struct XXX* next }什么是TCP/IP协议• TCP/IP协议的本质是⼀种解决方案• TCP/IP协议能分层前提是因为问题们本身能分层TCP/IP协议与操作系统的关系宏观上是怎么进行实现的我们知道我们的TCP/IP主要是由5层进行的。我们发送一个信息的时候我们依次会经历上面的四层。我们发送消息用户层—— 我们的消息的传输传输层—— 管理我们当前发送的地址和选择合适的路由路由器进行对应的工作网络层—— 负责驱动我们物理层的硬件进行工作数据链路层—— 我们的网卡工作将对应的消息发给另一台机器的网卡物理层。——逆着向上走交给我们用户B。总结主机间的通信我们必须认识到本质就是我们的两个协议在进行对应的工作。也就是说是我们的两个协议在进行通信。数据发送的原始动力是人90%的情况。我们这其中的同层之家是可以直接的进行通信的。比如我的应用层和你的应用层可以之间通信。当然上面的图还能在细化一下。我们注意到我们之前在系统时候的图片我们的网络的这5层也是不是可以有这种的效果呢这里我们呢注意我们的用户层可以理解为上面图片的用户这一层。(用户层)那我们的物理层肯定就是我们的底层的硬件层了。物理层我们之前的系统中是有对应的驱动来控制我们对应的底层硬件 那么我们上面说的数据链路层也是控制我们的物理层的。 所以我们的数据链路层肯定就是我们的驱动程序层。数据链路层我们的网络层和传输层可以理解为我们的操作系统层因为这两层对上可以接受我们用户的信息 对下可以告知我们的下面的两层进行对应的工作。网络层和传输层所以我们这样就有了下图的对应关系结论1.所有主机上面安装操作系统可以不同 事实也就不同,但是所有的主机上面的协议必须按照标准进行相同的协议栈进行实现这就是为什么不同的主机之间可以进行通信的秘密。我们的os是不一样的时候但是我们的遵循对应的协议是一样的。2.我们可以看出来整个协议栈 既涉及到硬件 又涉及到驱动还涉及到用户和OS这个协议一定是需要IT各行各业都要进行支持和配合的。3.传输层最著名的协议就是TCP 网络层是IP这两层必须实现在内核中无论OS在怎么不同 这部分大家都是要进行遵守的。所以究竟什么是协议1.截止到目前我们还没有接触到任何的协议 但是如何让朴素的理解协议 我们已经可以试试了。2.就像我们上面说的管理注意一样我们的协议应该在语言层也是先描述在组织。也是一个结构体。问题主机 B 能识别 data并且准确提取 a10b20c30 吗 回答答案是肯定的因为双方都有同样的结构体类型 struct protocol。也就是说用同样的代码实现协议用同样的自定义数据类型天然就具有” 共识 “能够识别对方发来的数据这不就是约定吗关于协议的朴素理解所谓协议就是通信双方都认识的结构化的数据类型因为协议栈是分层的所以每层都有双方都有协议“同层之间互相可以认识对方的协议”。举个例子我们在买快递的时候我们的快递单子 这个快递上会进行填写我们的相关的信息 我们的快递小哥回经过这个快递上的信息将快递给我们 这也快递之间也有快递的协议。四、网络传输的基本流程局域网网络传输流程图局域网以太网为例通信原理1.首先回答两台主机在同一个局域网是否能够进行通信2.每台主句在局域网上 要有唯一的标识来保证主机的唯一性mac地址。认识MAC地址MAC地址是用来标识数据链路层中相连的节点。我们在我们的Linux中查询对应的Mac地址命令ifconfigifconfig我们这里的ether就是我们的以太 我们的后面的值就是我们的 MAC地址这个地址具有唯一性。MAC地址长度为48个比特位即6个字节一般用16进制数字加上冒号进行表示例如我这里的52:54:00:a9:c2:07。一个数字代表16进制 那么一个16进制代表4个比特位一共12 x 4 48个比特位也就是6个字节。在网卡出厂时就确定了不能进行修改 mac地址通常时唯一的虚拟机中的mac地址不是真实的mac地址 可能回冲突也有些网卡支持用户配置mac地址。我们的mac地址是存在网卡中的除非换网卡要不mac地址将一直不会进行改变。我们在windows也能查看我们对应的mac地址ipconfig /all不同的是我们Linux是冒号进行分割的我们的windows是用-进行分割的。我们的数据链路层会谈到一个mac帧协议。数据传输的规则我们想要将我们的主机A发送消息“你好”发送给主机E。我们这里对应的网卡内部会有我们的mac地址 我们在数据链路层的时候我们会有一个结构体的报头后面说 他会在该层封装一下 如何让封装呢 当然使用一个结构体进行封装下面提供一串伪代码struct XXX { //src //dst //data }他们的内部会进行取出我们这对应的结构体信息。找到dst。下图我们将内容发给我们的MacE我们的BCD识别dst发现不是发给我的将这个报文将直接的进行丢弃。然后发给我们的E适配dst发现是给我的那我就向上进行解包最用主机E的用户层拿到“你好”。当我们有一个消息进行了一些的封装只有我们的目标dst才能拿到那么这就叫做加锁。总结1.在以太网中任何时刻 只允许一台机器想网络中发送数据。2.以太网的本质就是一个共享资源只要在这个居于网中我们都能进行使用这个以太网。临界资源码当然这样会出现一些问题。3.如果有多台同时发送会发生数据干扰 我们称之为数据碰撞。4.在没有交换机的情况下一个以太网就是一个碰撞域。5.所有发送数据的主句要进行碰撞检测和碰撞避免。当然在这里有相对应碰撞避免算法。6.局域网通信过程中主机对收到的报文确认是否是发给自己的 是通过Mac地址判定的。7.可以从系统的角度理解我们的局域网通信原理。信息传输的封装与解包我们先简单的看一下我们对应的数据发送的过程 是在发送方通过应用层——传输层——网络层——数据链路层——物理层网卡) ——用户B的物理层网卡——数据链路层——网络层——传输层——应用层——用户B。当然不是只有这些简单的操作他会讲过我们的封装和解包的过程。我们下面就来细细的看一下吧。封装与解包每层都有对应的协议所以每当我们进行传输的时候我们都要进行封装和解包。我们通过下图来详细的解释我们对应的封装用户A发送 你好 —— 应用层接收发送到传输层——传输层接收在你好的前面添加一个我们约定的协议这里我们称作传输层报头我们在上层获得的信息称之为有效载荷这里只有你好。我们向我们的网络层进行发送——网络层也会在前面添加我们对应的报头我们称之为网络报头 我们在上层获得的有效载荷传输层报头 “你好”上面获取的信息发送到数据链路层——添加链路报头 发送到我们对应的网卡——网卡收到发给另一个网卡——另一个网卡接受通过发送上层数据链路层——struct的强制类型转换取出对应的报头 查询我们的Mac地址查看消息是否是发给我的是则继续向上进行解包 不是则丢弃 如果是—— 通过网络层传输层依次进行解包——到了用户层我们就能拿到对应的消息了。报头部分就是对应协议层的结构体字段我们一般叫做报头除了报头剩下的叫做有效载荷故报文 报头 有效载荷问题为什么我们要自顶向下进行封装啊因为我们必须贯穿操作系统贯穿协议栈OS是硬件网卡的管理者。对端同层要先解包报头和有效载荷的分离这里一般同过报头类型的强制类型转换。细节不考虑应用层的协议 任何协议1.报头必须能做到和有效载荷分离的能力。2.报头中必须有如何将自己的有效载荷交付给上层的具体协议。3.我们底层收到的报文不是给我们的我们将进行直接的丢弃。每层报头的命名然后我们在明确一下不同层的完整报文的叫法不同的协议层对数据包有不同的称谓在传输层叫做段 (segment), 在网络层叫做数据报 (datagram), 在链路层叫做帧 (frame).应用层数据通过协议栈发到网络上时每层协议都要加上一个数据首部 (header), 称为封装 (Encapsulation).首部信息中包含了一些类似于首部有多长len载荷 (payload) 有多长上层协议是什么等信息.数据封装成帧后发到传输介质上到达目的主机后每层协议再剥掉相应的首部根据首部中的 上层协议字段 将数据交给对应的上层协议处理.最后我们复盘一下我们每一层的协议/工作TCP/IP通讯的过程两台计算机通过TCP/IP协议通讯的过程如下图所示我们上层是我们用户的处理 然后会传送到我们内核之间的操作。在网络传输的过程中数据不是直接发送给对方主机的而是先要自定向下将数据交付给下层协议最后由底层发送然后由对方主机的底层来进行接受在自底向上进行向上交付下面是一张示意图。再次了解我们的封装和解包下图是我们的一个封装和包的图片我们可以换一种风格进行理解我们的封装的过程可以理解为我们的压栈的过程而我们的解包的过程可以理解我们的出战的过程。五、跨网络传输流程图网络中的地址管理——认识IP地址我们的IP地址主要是由两个版本的一个是IPv4 另一个是IPv6。IP地址是在IP协议中的用来标识网络中的不同的主机地址。对于IPv4来说IP地址是一个4个字节的数字32位的整数。我们通常使用“点分十进制”的字符串来表示我们的IP地址用点分割每一个数字每一节数字是从0-255。我们下面就来简单的看一下不同系统的IP地址。我们对应的inet是我们的内网IP。ifconfig那我们的公网IP是什么呢答 是我们初始登录的IPWindows查看我们的IP地址ipconfig跨网段的主机数据的传输数据是从一台计算机到另一台计算机传输的过程中要经历一个/多个路由器。理解IP地址的意义1.为什么要去目标主机 要先走路由器。2.目的IP的意义。我们这里网络层有自己的struct它主要有我们的src发送信息的主机IPdst发送到主机的IP。data发送的数据。这里主机A不知道172在哪 但是主机一定能确定这个文件不是发给本地的。我们观察下面的图会更加的明白我们用户A发送了一个信息经过我们的网络层他会封装我们的数据报也就是一个struct封装了当前的主机IP和要发送给谁的主机IP然后经过数据链路层封装对应的 Mac地址 封装了当期的Mac地址和路由器的Mac地址 我们想要跨网络进行访问要经过路由器通过网卡进行交互 然后将在我们的数据链路层进行解包找到我们对应目标机器的IP地址 在经过我们路由器的数据链路层进行封装我们的数据帧封装路由器的Mac地址和我们的目标IP地址的Mac地址。然后经过网卡进行解包 一直向上解包。最后拿到我们对应的信息。这一段段的过程我们称之为路由 这个过程主要的区别是IP地址不变我们的Mac地址是一直变化的从发出到路由器 再从路由器到目标地址。网络层IP协议的本质意义给网络提供了一层虚拟化层让世界所有的网络都叫做IP网络。IP地址 vs Mac地址到了现在我们学到了两种地址这两种地址都有什么用呢我相信我们在学习的时候我们也会有疑问和记混吧。这里我们说一下我们Mac地址是存在我们数据链路层的我们这个地址具有绝对的唯一性 这个地址是我们在网卡确定的时候我们就已经确定了的。除非我们更换网卡或者我们的虚拟机也可以进行对应的更改。他一般在一个局域网中。我们的IP地址在我们的网络层这个地址不是一直不变的但我们现在在山东到北京我们的IP地址是会发生对应的改变的。Ip地址是我们全球都在使用的地址。我们有事还能捏造我们的IP地址。他们俩在不同局域网传输消息我们的IP地址不发生变化 我们的Mac地址一直在发生变化目的IP是一种长远目标 Mac是下一阶段目标目的IP是路径选择的重要依据mac地址是局域网转发的重要依据。提炼IP网络的意义和网络通信的宏观流程当然我们上面主要是经过我们对应的1个路由器那么我们也可以有多个路由器进行信息的传输传输的轨迹如下。-IP网络层存在的意义提供网络虚拟层让时间的所有网络都是IP网络屏蔽底层网络的差异。本篇完下篇预告网路socket