体系结构
OSI 模型
1、开放式系统互联通信参考模型:Open System Interconnection Reference Model
2、层次划分
(1)第七层:应用层
(2)第六层:表示层
(3)第五层:会话层
(4)第四层:运输层
(5)第三层:网络层
(6)第二层:数据链路层
(7)第一层:物理层
3、法律上的国际标准,不使用
(1)协议实现起来过分复杂,而且运行效率很低
(2)层次划分不合理,有些功能在多个层次重复出现
TCP / IP 协议
1、传输控制协议 / 网际协议:Transmission Control Protocol/Internet Protocol
2、层次结构
(1)第四层:应用层
(2)第三层:运输层
(3)第二层:网络层
(4)第一层:网络接口层
3、与 OSI 模型相比,去除表示层、会话层,把数据链路层、物理层合并为网络接口层
4、路由器一般只包括:网络接口层、网络层;用户主机 OS 包括:应用层、运输层、网络层、网络接口层
5、网络接口层并没有规定具体的内容,目的是可以互连全世界各种不同的网络接口,例如,有线的以太网接口,无线局域网的 WIFI 接口
6、IP 协议:负责互连不同的网络接口,为各种网络应用提供服务
分层的必要性
1、物理层
(1)解决使用何种信号来传输比特的问题
(2)采用何种传输媒体、物理接口,使用怎样的信号表示 0 和 1
2、数据链路层
(1)解决进程之间基于网络的通信问题
(2)如何标识网络中的各主机(MAC地址),如何从信号的一连串比特流中区分地址和数据,如何协调各主机争用主线(总线型网络已淘汰,现在常用以太网交换机将多台主机互连形成的交换式以太网)
3、网络层
(1)解决分组在多个网络上传输(路由)的问题
(2)如何标识各网络及各网络中的主机(IP地址),路由器如何进行转发分组,如何选择路由
4、运输层
(1)解决分组在一个网络(或一段链路)上传输的问题
(2)如何解决进程之间基于网络的通信,如何处理出现传输错误
5、应用层
(1)解决通过应用进程的交互来实现特定网络应用的问题
专用术语
1、实体:任何可接收或发送信息的硬件或软件进程
2、对等实体:通信双方相同层次中的实体
3、协议:控制两个对等实体进行逻辑通信的规则的集合
(1)逻辑通信:这种通信并不存在,方便研究某一层而暂时不考虑其他层
(2)三要素:语法、语义、同步
(3)语法:定义所交换信息的格式
(4)语义:定义通信双方所要完成的操作
(5)同步:定义通信双方的时序关系
4、服务:在协议的控制下,两个对等实体的逻辑通信使得本层能够向上一层提供服务
(1)要实现本层的协议,需要使用下一层所提供的服务
(2)协议是水平的,服务是垂直的
(5)实体看得见下层提供的服务,但看不见实现该服务的具体协议,也就是说,下面的协议对上面是透明的
5、服务访问点:同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型
(1)数据链路层的服务访问点:帧的类型字段
(2)网络层的服务访问点:IP 数据报首部的协议字段
(2)运输层的服务访问点:端口号
6、服务原语:上层使用下层提供的服务需要交换一些命令,这些命令成为服务原语
7、协议数据单元(PDU):对等层次间传送的数据包
(1)物理层的数据包:比特流
(2)数据链路层:帧
(3)网络层:IP 数据包 / 分组
(4)运输层:TCP 报文段 / UDP用户数据报
(5)应用层:报文
8、服务数据单元(SDU):同一系统内,层与层之间交换的数据包
9、多个 SDU 可以合成为一个 PDU,一个 SDU 可以划分为多个 PDU
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战