【网络】网络发展,网络协议,网络传输流程,地址管理

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

1.计算机网络背景

1.1网络发展

局域网和广域网

1.2 协议

2.网络协议初识

2.1协议分层

2.2OSI七层模型

2.3 TCP/IP 五层或四层模型

网络和操作系统之间的关系

2.4重谈协议 -- 计算机的视角如何看待协议

2.5 网络传输基本流程

网络传输流程图

数据包封装和分用

3.网络中的地址管理

3.1认识IP地址

3.2认识MAC地址

结论


1.计算机网络背景

1.1网络发展

计算机体系结构本质也可以被看做是一个小型网络。计算机与计算机之间也是用“线”连接起来的。与其说两台计算机通信本质上其实也是通过“线”链接起来。不过是“线”长了一点网线无限LAN。

  • 独立模式计算机之间相互独立

  • 网络互联多台计算机连接在一起完成数据共享

那么我们一般一台计算机内把外设和内存之间的“线”称作IO总线。CPU和内存之间的“线”称作系统总线我们常见的有32位/64位。

那么我们此时需要面对一个问题在主机内,“线”比较短跨主机“线”比较长。而当“线”比较短时数据之间会发生信号干扰而“线”比较长时数据的可靠性就降低了以及效率变低以及存在寻找对方的问题。

局域网和广域网

计算机网络根据其规模可分为WAN(Wide Area Network,广域网)和LAN(Local Area Network,局域网)。

局域网LAN计算机数量更多了通过交换机和路由器链接在一起。一栋楼或大学校园中有限的狭小的区域内网络

广域网WAN将远隔千里的计算机都连在一起

1.2 协议

“协议” 是一种约定。这种约定使那些由不同厂商的设备、不同的CPU以及不同的操作系统组成的计算机之间只要遵循相同的协议就能够实现通信。两台计算机必须能够支持相同的协议并遵循相同协议进行处理这样才能实现相互通信。

思考只要通信的两台主机约定好协议就可以了么

  • 计算机生产厂商有很多
  • 计算机操作系统也有很多
  • 计算机网络硬件设备还是有很多
  • 如何让这些不同厂商之间生产的计算机能够相互顺畅的通信就需要有人站出来约定一个共同的标准大家都来遵守这就是网络协议

2.网络协议初识

2.1协议分层

通信协议设计指标的OSI参考模型。这一模型将通信协议中必要的功能分成了7层。通过这些分层使得那些比较复杂的网络协议更加简单化。

2.2OSI七层模型

  • OSI(Open System Interconnection,开放系统互连) 七层网络模型称为开放式系统互联参考模型是一个逻辑上的定义和规范
  • 把网络从逻辑上分为7层每一层都有相关相对应的物理设备比如路由器交换机
  • OSI七层模型上是一种框架性的设计方法其最主要的功能就是帮助不同类型的主机实现数据传输
  • 他的最大优点是将服务、接口和协议这三个概念明确地区分开来概念清楚理论也比较完整。通过七个层次的结构模型使不同的系统不同的网络之间实现可靠的通讯。

但是由于OSI七层模型既复杂又不实用因此我们经常使用TCP/IP四层模型

2.3 TCP/IP 五层或四层模型

TCP/IP是一组协议的代名词它还包括许多协议组成了TCP/IP协议簇

TCP/IP通讯协议采用了5层的层级结构每一层都呼叫它的下一层所提供的网络来完成自己的需求。

  1. 物理层负责光/电信号的传递方式比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆 (现在主要用于有线电视)、光纤, 现在的wififi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.
  2. 数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
  3. 网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.
  4. 传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.
  5. 应用层: 负责应用程序间沟通如简单电子邮件传输SMTP、文件传输协议FTP、网络远程访问协议Telnet等. 我们的网络编程主要就是针对应用层。

由于物理层我们考虑的比较少因此很多时候也可以称为TCP/IP四层模型。

一般而言

  • 对于一台主机它的操作系统内核实现了从传输层到物理层的内容
  • 对于一台路由器它实现了从网络层到物理层
  • 对于一台交换机它实现了从数据链路层到物理层
  • 对于集线器它只实现了物理层。

但是并不绝对很多交换机也实现了网络层的转发很多路由器也实现了部分传输层的内容比如端口转发

网络和操作系统之间的关系

TCP/IP协议和操作系统的关系是操作系统内部有一个模块就叫做TCP/IP协议网络协议栈是隶属于OS的

那么两台主机之间进行通信的时候同层协议都认为自己在和对方直接通信

2.4重谈协议 -- 计算机的视角如何看待协议

举个例子我们在网上购买一个鼠标。你和卖家沟通好买了一个鼠标实际上快递员给你的是一个包裹里面有鼠标。

实际上快递员多给了我们一些东西快递单。这个快递单上填的一些数据。这些数据不是给你用的是给快递公司用的。快递单多出来的这些数据是快递公司和快递点和快递小哥之间的协议

为了维护协议一定要在被传输的数据上新增其他数据。这个新增的其他数据我们叫做协议数据。

2.5 网络传输基本流程

网络传输流程图

同一个网段内的两天主机进行文件传输。

我们把每一层要交付给下一层的数据给他添加上本层“多出来的协议数据”拼接在原始数据的开头叫做报头.

跨网段的主机的文件传输数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。

数据包封装和分用

  • 不同的协议层对数据包有不同的称谓在传输层叫做段segment在网络层叫做数据报datagram在链路层叫做帧frame.
  • 应用层数据通过协议栈发到网络上时每层协议都要加上一个数据首部header,称谓封装
  • 首部信息中包含了一些类似于首部有多长载荷有多长上层协议是什么等信息
  • 数据封装成帧后发到传输介质上到达目的主机后每层协议再剥夺相应的首部根据首部中的“上层协议字段”将数据交给对应的上层协议处理

下图为数据封装的过程

下图为数据分用的过程

3.网络中的地址管理

3.1认识IP地址

IP协议有两个版本IPv4和IPv6我们凡是提到IP协议如果特殊说明的默认都是值IPv4

  • IP地址是在IP协议中用来标识网络中不同主机的地址
  • 对于IPv4来说IP地址是一个4字节32位的整数
  • 我们通常也是用“点分十进制”的字符串表示IP地址例如192.168.0.1用点来分割每一个数字表示一个字节范围是0-255

3.2认识MAC地址

每一台主机都要有唯一的标识就是该主机对应的MAC地址

任何一台主机在任何时刻都可以随时发消息。我们把这种局域网的情况叫做 碰撞域 -- 无法准确的听到对应的消息 -- 每一台主机也能识别发生了碰撞碰撞检测 -- 碰撞避免 -- 如果没人说话我再说话

  • MAC地址是用来识别数据链路层中相连的节点
  • 长度为48位即6个字节一般用16进制数字加上冒号的形式来表示例如08:00:27:03fb:19
  • 在网卡出厂时就确定了不能修改MAC地址通常是唯一的虚拟机中的MAC地址不是真实的MAC地址可能会冲突也有些网卡支持用户配置mac地址

在云服务器下查看MAC地址

ifconfig 可以查看MAC地址

ether以太

其中“从哪儿来” -> "到哪里去" -- 对应IP 地址 "上一站从哪儿来"-- "下一站到哪儿去" 对应的是MAC地址。

MAC地址用来在局域网中标定主机的唯一性

IP地址在广域网中公网标定主机的唯一性。

结论

  1. 一般而言任何报头属性里面一定要存在的一些字段要支持进行封装和解包
  2. 一般而言任何报头属性里面一定要存在的一些字段支持我们要进行分用

本篇完

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6