IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络——计算机网络体系结构 -> 正文阅读

[网络协议]计算机网络——计算机网络体系结构

计算机网络体系结构(重点和难点!!)

1、常见的计算机网络体系结构

  • OSI体系结构(法律上国际标准)
    • 应用层
    • 表示层
    • 会话层
    • 运输层
    • 网络层
    • 数据链路层
    • 物理层
  • TCP/IP体系结构
    • 应用层:解决通过应用进程的交互来实现
    • 运输层:解决进程之间基于网络的通信问题
    • 网络层(网际层):解决分组在多个网络上传输的问题
    • 数据链路层:解决分组在一个网络(或者一段链路)上传输的问题
    • 物理层:解决使用何种信号来传输比特的问题
  • 注意:
    • 主机内必须有TCP/IP 协议族,而且 连接的路由器中也会有 TCP/IP 协议族,只不过路由器一般只包含 网络接口层和网际层
    • IP协议网际层核心协议, IP协议可以将网络接口层的网络接口互连,然后给TCP协议或UDP协议提供网络互连
    • TCPUDP是TCP/IP 体系结构中运输层的两个重要协议TCP协议在享受IP协议提供的互连服务基础上,向应用层等协议提供可靠传输的服务;UDP协议在享受IP协议提供的互连服务基础上,向应用层等协议提供不可靠传输的服务
    • 应用层有较多协议,如HTTP,SMTP,DNS,RTP等

IP协议作为计算机网络体系结构中的重要协议,一方面负责互连不同的网络接口;另一方面为各种网络应用提供服务

TCP/IP 体系结构中包含大量协议,TCP协议和IP协议又是非常重要的两个协议,所以用TCP和IP两个协议表示为这个大家族,所以常称为TCP/IP协议族

2、计算机网络体系结构分层的必要性

  • 计算机是一个非常庞大且复杂的系统
  • 分层可以将这些复杂的内容分解为各个部分,解决起来比较简单
分层后每一层的任务
  • 物理层
    • 互连时采用怎样的传输媒介
    • 采用怎样的物理接口
    • 采用怎样的信号表示bit 0 和 1
  • 数据链路层
    • 主机a想发送给主机c数据,主机a发送数据到总线后,会将数据发送给所有连接在总线上的主机,而这时就出现了问题,主机c怎么识别这个数据是发给他的呢?其他主机是如何识别这个数据不是发给他的呢?(主机编制问题,例如MAC地址)
    • 如何从信号所表示的一连串bite流中区分出地址和数据
    • 如果有多态主机同时发送数据到总线,那么该如何协调这种情况
  • 网络层(网际层)
    • 因为因特网中会有若跟个网络和网络中的主机,那么,我们如何识别各网络以及网络中的各主机(网络和主机共同编址问题,例如IP地址)
      • ip地址中前三个十进制数表示网络,第四个十进制数表示主机,如198.128.1.254(假的数据),那么198.168.1表示网络,254表示主机信息
    • 因为源主机和目的主机中的传输路径有很多条,就引出路由器如何转发分组,以及如何进行路由选择的问题
  • 运输层
    • 如何标识与通信相关的网络进程,进而解决进程之间基于网络的通信问题(举例,如果目的主机上有两个进程,浏览器和qq,那么源主机中发送的分组要交给谁呢?)
    • 如果某个分组在传输过程中出现了“误码”,或者由于路由器繁忙导致路由器丢失分组 ,这样的传输错误应该如何处理
  • 应用层
    • 在其他层的基础上,只需指定各中应用层各种协议,并按协议标准编写应用程序,通过应用进程之间的交互来完成特定的网络应用(例如,支持万维网应用的HTTP,支持电子邮件的SMTP协议,支持文件传输的FTP协议)

3、计算机网络体系结构分层思想举例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3kAZNf1Y-1645854766216)(C:\Users\HUAWEI\AppData\Roaming\Typora\typora-user-images\image-20220226110606941.png)]

应用进程之间基于网络的通信流程(拿浏览器和服务器之间的通信做例子)
  1. 浏览器所在主机,应用层生成一个http报文
  2. 将http报文交给运输层,运输层在这个http报文加TCP首部,变成TCP数据报
  3. 将TCP数据报交给网络层,网络层会在这个TCP数据报加IP首部,变成IP数据报
  4. 将IP数据报交给数据链路层,数据链路层会在这个IP数据报前后加ETH,使之成为 帧
    • ETH首部是为了让该数据报可以在网络上或者该链路上传输,能够被相应的目的主机接收
    • ETH尾部作用是为了让目的主机检查收到的帧是否有“误码”
  5. 将帧交给物理层,物理层将帧看作是比特流 ,如果该网络是以太网,那么物理层会在帧的首部加前导码,作用是让目的主机做好接收帧的准备;物理层将相应的比特流转换为某种信号发送到传输媒体
  6. 该信号通过传输媒体到达路由器
  7. 路由器的物理层将该信号翻译成比特流,将比特流的首部的前导码去掉交给数据链路层
  8. 路由器的数据链路层将物理层传送过来的帧的ETH首部和尾部去掉交给网络层
  9. 路由器的网络层将IP数据报中的IP首部去掉,从中提取出目的网络地址,然后查找自身的路由表,确定转发端口,以便进行转发
  10. 路由器的网络层向TCP数据报添加IP首部后发给数据链路层,数据链路层将收到的IP数据报前后添加ETH转换为帧,发送给物理层,物理层再将帧看作是比特流,在比特流前面加前导码,之后翻译成某种信号,通过传输媒体传输
  11. 信号通过传输媒体到达Web服务器
  12. Web服务器的物理层将这种信号翻译成bit流将bit流的前导码去掉,转换为帧交给数据链路层
  13. 数据链路层将帧的ETH首部和尾部去掉变为IP数据报,交给网络层
  14. 网络层将IP数据包的IP首部去掉变为TCP数据报,交给运输层
  15. 运输层将TCP数据报的TCP首部去掉变为 源主机发送的HTTP数据报 后交给应用层
  16. 应用层将传过来的http报文进行解析,然后给主机发回http响应报文
  17. 然后进行类似的过程到达源主机

4、计算机网络体系结构中的专用术语

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HyzyFrV2-1645854766217)(C:\Users\HUAWEI\AppData\Roaming\Typora\typora-user-images\image-20220226110953542.png)]

实体
  • 任何可发送或者接收信息的硬件或者软件进程,如图中的A,B,C,D,E,F,G,H,I,J
  • 对等实体标识通信双方相同层次中的实体,如图中的A,F;B,G;C,H;D,I;E,J

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vTuL4dXL-1645854766218)(C:\Users\HUAWEI\AppData\Roaming\Typora\typora-user-images\image-20220226111219062.png)]

协议
  • 控制两个对等实体进行逻辑通信的规则集合
    • 逻辑通信并不存在,他只是我们假设出来的一种通信,方便我们单独研究某一层,而不用靠考虑其他层
  • 协议三要素
    • 语法:定义所要交换信息的格式
    • 语义:定义通信双方要完成的操作
    • 同步:定义通信双方的时序方式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BUUUjLXk-1645854766219)(C:\Users\HUAWEI\AppData\Roaming\Typora\typora-user-images\image-20220226111951349.png)]

服务
  • 协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务

  • 要实现本层协议,还需要下一层提供的服务

  • 协议是水平的,服务是垂直的

    在这里插入图片描述

  • 服务访问点:在同一系统相邻的两层的实体交换信息的逻辑接口,用户区分不同的服务类型

    • 数据链路层的服务访问点为帧的“类型”字段
    • 网路层的服务访问点为IP数据报首部的“协议字段”、
    • 运输层的服务访问点为“端口号”
  • 服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令就是服务原语

协议数据单元PDU
  • 对等层次之间传送的数据包 称位该层的协议数据单元
    • 物理层对等数据包为 比特流
    • 链路层对等数据包为
    • 网络层对等数据包为 IP数据报(使用IP协议的情况下) 或者 分组(packet)
    • 运输层对等数据包为 TCP报文段
    • (使用TCP协议)或者 UDP用户数据报(使用UDP协议)
    • 应用层对等数据报为 报文
  • 上述各层数据包可以统称为 协议数据单元PDU

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0KDjbc5v-1645854766220)(C:\Users\HUAWEI\AppData\Roaming\Typora\typora-user-images\image-20220226113030180.png)]

服务数据单元SDU
  • 同一系统内,层与层之间交换的数据包称位服务数据单元
  • 多个服务数据单元SDU可以合并为一个协议数据单元PDU;一个SDU也可划分为几个PDU

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QscdysWs-1645854766220)(C:\Users\HUAWEI\AppData\Roaming\Typora\typora-user-images\image-20220226113406124.png)]

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:59:55  更:2022-02-28 16:00:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:29:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码