深圳网站设计 工作室,2017网站开发兼职,融创中国最新消息,传奇手游最新下载目录
1. 认识协议
2. 协议的分层
3. OSI 七层模型 TCP/IP 五层(四层)模型
4. 网络传输的基本流程
5. 以太网的通信原理
6. 数据的跨网络传播
7. 认识 IP 地址
① IP 是什么
② IP 与 MAC 的关系
③ 为什么需要 IP 在谈及网络之前#xff0c;我们要先对学…目录
1. 认识协议
2. 协议的分层
3. OSI 七层模型 TCP/IP 五层(四层)模型
4. 网络传输的基本流程
5. 以太网的通信原理
6. 数据的跨网络传播
7. 认识 IP 地址
① IP 是什么
② IP 与 MAC 的关系
③ 为什么需要 IP 在谈及网络之前我们要先对学的知识有一个了解
网络的本质就是获取数据而系统的本质就是加工数据
1. 认识协议
而我们要从网络上获取数据这之中一定会出现很多的问题比如 如何处理发送过来的数据 - 应用层 (http, https, ftp, smtp)长距离传输导致数据丢失了怎么办 - tcp 协议如何定位主机呢 - ip 协议如何保证数据能够传输到下一个设备呢 - 数据链路层 那么为什么会出现这些问题呢——其实是两个设备之间传输数据的距离变长了而已。对于 A 与 B 两个设备来说整个通信的过程其实就是一个封装与识别的过程
既然如此只要我们通信两台设备并约定好协议就可以了吗——当然不行计算机的型号有很多OS 也有很多硬件一定更多。因此我们只能约定一个共同的标准——即网络协议。
2. 协议的分层
网络协议在实际意义上被分成了层级在 C 中实际是通过继承来实现的即使用虚拟文件指针在硬件和软件间分层。那么好端端的为什么要分层呢——满足高内聚低耦合举个例子 对于通信设备层来说我们可以将电话替换成无线电这对上层的人是没有影响的也就是解耦了这会给我们带来一个好处——更加方便维护。在事实上我们认为人和电话在沟通在逻辑上我们认为人和人电话与电话在沟通。那为什么协议也要分层呢——协议本身就是层状的。
3. OSI 七层模型 TCP/IP 五层(四层)模型 OSI (Open System Interconnection开放系统互连)七层网络模型称为开放式系统互联参考模型是一个逻辑上的定义和规范。它把网络从逻辑上分为了7层每一层都有相关、相对应的物理设备比如路由器交换机。 OSI 七层模型是一种框架性的设计方法其最主要的功能使就是帮助不同类型的主机实现数据传输。它最大的优点是将服务、接口和协议这三个概念明确地区分开来概念清楚理论也比较完整。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。 图示如下 但是它既复杂又不实用。所以我们按照 TCP/IP 五层(四层)模型来讲解即 应用层如何处理数据 传输层(TCP)数据出问题怎么办 网络层(IP)如何选择路径 数据链路层保证任意两台主机能通信 物理层保证信号的发送效率 这之中网络层与传输层最为重要因为它们与 OS 联系最为紧密我们来看看 OS 与网络协议栈的关系如图 我们的用户想做出动作本质就是访问硬件但是我们又无法直接访问因此这个过程一定会贯穿 OS 其中传输层与网络层就是 Linux 内核中的一个模块。所以我们可以知道整个网络通信的本质实际上就是一个贯穿协议栈的过程即 4. 网络传输的基本流程
实际上网络协议栈的层状结构中每一层都有协议举个例子 应用层Telnet, FTP, HTTP, SMTP 传输层TCP, UDP 网络层IP, ICMP, IGMP 数据链路层MAC 我们现在来简单模拟一下网络传输的基本流程如图 可以看到从上往下是一个封装的过程而从下向上则是一个解包分用的过程。那为什么一定是网卡拿到数据并向上传递呢——冯诺依曼体系是这样规定的所以通信的过程本质就是在不断地进行封装与解包的过程。
只有理解了下面这两点面对封装与解包我们才不会困惑即 1. 几乎任何层的协议都要提供一种能力——将有效载荷与报头分离的能力 2. 几乎任何层的协议都要在报头中提供 将自己的有效载荷交付给上层的哪一个协议的能力 这是大部分协议的共性我们以后学习各种各样的协议时都会提出对应的问题。
5. 以太网的通信原理
接下来我们来看看以太网是如何互相通信的我们先讲一个例子来引入 当我们坐在教室里上课时老师在讲台上点名此时老师点了“张三”坐在教室里的所有同学在实际意义上都收到了这个信息然后每个同学将“张三”这个信息和自己的名字作对比如果相同那就是点到了自己否则不理会即可 同样的每台主机在局域网上都要有自己的唯一编号如图 此时H1想与H7互相通信H1 就向局域网中发送一个报文这个报文会被每个主机看到每个主机拿到这个报文后会将其中的 dst 与自己作比较如果不同就舍弃如果相同就将报头与有效载荷分离以得到数据。
那我们如何看待局域网这个东西呢——局域网是多台主机所共享的临界资源。那假如在同一时刻多台主机向局域网中发送大量报文那么就会出现一定程度上的报文丢失我们将这个问题称为以太网发送数据碰撞问题所以我们要使用让发送主机尽量避免碰撞的算法。
为了解决这个麻烦就出现了交换机这个东西比如在 H3 与 H8 之间存在一个交换机 H1 与 H7 都在交换机的左边就会让报文不传递到交换机右边以此来降低碰撞概率这实际上是一种基于划分碰撞域的东西。
6. 数据的跨网络传播
如图 可以看到在整个过程中 IP 协议屏蔽了底层网络的差异化(红线以下部分)靠的就是工作在 IP 层的路由器。也就是说 IP 实现了全球主机的虚拟层即一切都是 IP 报文
注令牌与锁类似只有持有特殊标识符的主机才能发送消息。
7. 认识 IP 地址
上面说到了 IP我们就来认识认识 IP
① IP 是什么 IP 一般指 IPv4它有4个字节32个比特位其风格类似于 10.65.181.55 ② IP 与 MAC 的关系
在这里我们举个例子如果我们想从北京到上海肯定在一路上要路过相当多的省份而在这之中 从哪里来(srcip)到哪里去(dstip)始终是不变的其类似于 IP 地址 而上一站从哪里来(srcmac)下一站到哪里去(dstmac)始终是变化的其变化依据是我最终去哪里其类似于 MAC 地址。 根据之前的学习以太网中的主机设备凭什么将数据交给路由器呢——根据 IP 判断是否在同一网段。
③ 为什么需要 IP
对于 IP 地址来说尤其是目的 IP 一般都是不会改变的且可以协助我们进行路径选择对于 mac 地址来说在出了局域网后其源 mac 地址与目的 mac 地址都要丢弃再经由路由器重新封装。