招聘网站建设规划书,wordpress 搜索频率,wordpress 在线生成app,wordpress网站amp计算机网络发展
独立模式#xff1a;最开始计算机之间相互独立#xff0c;每个终端各自持有数据。 网络互联#xff1a;多台计算机连接在一起#xff0c;完成数据共享。 局域网 LAN#xff1a;计算机数量增多#xff0c;通过交换机和路由器连接在一起。 广域网 WAN: 将远…计算机网络发展
独立模式最开始计算机之间相互独立每个终端各自持有数据。 网络互联多台计算机连接在一起完成数据共享。 局域网 LAN计算机数量增多通过交换机和路由器连接在一起。 广域网 WAN: 将远隔千里的计算机都连在一起。 协议
协议分层
为什么要进行协议分层
协议本质也是软件在设计上为了更好的进行模块化以及解耦合因此进行了分层并被设计为层状结构。
OSI 七层模型
•OSIOpen System Interconnection开放系统互连七层网络模型称为开放式系统互联参考模型是一个逻辑上的定义和规范把网络从逻辑上分为了七层。每一层都有相关、相对应的物理设备比如路由器交换机OSI 七层模型是一种框架性的设计方法其最主要的功能使就是帮助不同类型的主机实现数据传输它的最大优点是将服务、接口和协议这三个概念明确地区分开来概念清楚理论也比较完整。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯但是它既复杂又不实用所以我们按照 TCP/IP 五层模型来理解。 TCP/IP 五层四层模型
TCP/IP 通讯协议采用了五层的层级结构每一层都呼叫它的下一层所提供的网络来完成自己的需求。
物理层负责光/电信号的传递方式。 比如现在以太网通用的网线(双绞 线)、早期以太网采用的同轴电缆现在主要用于有线电视、光纤现在的 wifi 无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器Hub工作在物理层。数据链路层负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步就是说从网线上检测到什么信号算作新帧的开始、冲突检测如果检测到冲突就自动重发、数据差错校验等工作。有以太网、令牌环网、无线 LAN 等标准。交换机Switch工作在数据链路层。网络层负责地址管理和路由选择。例如在 IP 协议中通过 IP 地址来标识一台主机并通过路由表的方式规划出两台主机之间的数据传输的线路路由。 路由器Router工作在网络层。传输层负责两台主机之间的数据传输。如传输控制协议 (TCP)能够确保数据可靠的从源主机发送到目标主机。应用层负责应用程序间沟通如简单电子邮件传输SMTP、文件传输协议FTP、网络远程访问协议Telnet等。网络编程主要就是针对应用层。 由于物理层我们考虑的较少我们只考虑软件相关的内容因此很多时候我们直接称为 TCP/IP 四层模型。 对于一台主机它的操作系统内核实现了从传输层到物理层的内容对于一台路由器它实现了从网络层到物理层对于一台交换机它实现了从数据链路层到物理层对于集线器它只实现了物理层。 但是并不绝对很多交换机也实现了网络层的转发很多路由器也实现了部分传输层的 内容比如端口转发。
究竟什么是协议
关于协议的朴素理解协议制定了相同的、结构化的数据类型方便不同主机间的网络通信。因为协议栈是分层的所以每层的双方都有协议同层之间互相可以认识对方的协议。
ifconfig
网络与操作系统的关系
所有操作系统只要想入网就必须遵守 TCP/IP 协议保证不同主机间的数据通信。
所以操作系统的分层结构属于个性不同操作系统遵守的网络分层结构属于共性。 网络传输基本流程
局域网网络传输流程
首先回答一个问题两台主机在同一个局域网以太网为例能够直接通信能。
每台主机在局域网上要有唯一的标识来保证主机的唯一性MAC 地址。
认识 MAC 地址 MAC 地址用来识别数据链路层中相连的节点长度为 48 位即 6 个字节。 一般用 16 进制数字加上冒号的形式来表示例如08:00:27:03:fb:19MAC 地址在网卡出厂时就确定了不能修改。MAC 地址通常是唯一的虚拟机中的 MAC 地址不是真实的 MAC 地址可能会冲突也有些网卡支持用户配置 MAC 地址)。 Linux bash 输入以下命令可查看 mac 地址。
ifconfig 局域网以太网为例通信原理 以太网中任何时刻只允许一台机器向网络中发送数据。如果有多台同时发送会发生数据干扰我们称之为数据碰撞所有发送数据的主机要进行碰撞检测和碰撞避免。没有交换机的情况下一个以太网就是一个碰撞域。局域网通信的过程中主机对收到的报文确认是否是发给自己的是通过目标mac 地址判定。这里可以试着从系统角度来理解局域网通信原理。 以太网和令牌环网都是将局域网看作一个临界资源。 以太网是检测到数据碰撞就等会再发数据令牌环网则是有一个令牌谁拿到了令牌谁就可以发数据。 初步明白了局域网通信原理再来看同一个网段内的两台主机进行发送消息的过程 首先明确一下概念 报文自顶向下交付的过程要添加每一层的数据首部这称为封装自底向上贯穿协议栈称为解包和分用。首部信息中包含了一些类似于首部有多长有效载荷有多长上层协议是什么等信息。解包将报头和有效载荷进行分离。分用将自己的有效载荷交付给上层的哪个协议。封装过程中每个分层接收到上层的报文后会在头部添加报头。报头部分就是对应协议层的结构体字段我们一般叫做报头。除了报头剩下的叫做有效载荷。所以报文 报头 有效载荷。 然后明确一下不同层的完整报文的叫法 不同的协议层对数据包有不同的称谓,在传输层叫做段segment在网络层叫做数据报 datagram在链路层叫做帧frame。 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部根据首部中的 上层协议字段 将数据交给对应的上层协议处理. 最后给出整体传输流程 在网络传输的过程中数据不是直接发送给对方主机的而是先要自顶向下将数据交付给下层协议最后由底层发送然后由对方主机的底层来进行接受再自底向上进行交付。
数据包封装和分用
数据封装流程如下 数据分用流程如下 跨网络传输流程
IP 地址
IP 协议有两个版本IPv4 和 IPv6。后续文章没有特殊说明的默认都是讨论 IPv4。 IP 地址是在 IP 协议中用来标识网络中不同主机的地址对于 IPv4 来说IP 地址是一个 4 字节32 位的整数我们通常也使用“点分十进制”的字符串表示 IP 地址例如 192.168.0.1用点分割的每一个数字表示一个字节范围是 0 - 255。 IP 网络层存在的意义提供网络虚拟层让所有网络都是 IP 网络屏蔽最底层网络的差异 。
跨网段的主机的数据传输
数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。示意图如下 为什么给目标主机发数据先要发给路由器
当我们向跨网段进行数据传输时需要给出目的 IP当目的 IP 不在局域网内就通过 MAC 地址将数据发给路由器由路由器对报文进行解释并转发。
结合封装与解包根据下图重新体现路由器解包和重新封装的特点 IP 网络的意义和网络通信的宏观流程图如下