前言
笔者系电子科技大学2019级在读本科生,针对本学期学校开设的计算机通信网课程,将学习笔记以博客形式上传到CSDN上以便日后复习整理,其中的瑕疵欢迎大家向我指正,在评论区多多交流讨论。
概念
一、两种参考模型
网络体系结构(Network Architecture):层和协议的集合。
1、OSI参考模型
下四层(物理层、数据链路层、网络层、传输层)与通信紧密相关
上三层(应用层、表示层、会话层)与应用紧密相关
- 物理层服务:提供无结构bit流传输
- 数据链路层服务:帧传输,使物理信道对网络层呈现为可靠的通道(纠错功能:成帧、帧差错检测、帧差错处理(重传)、流量控制(控制线路两端速率一致))
i. 链路层等效为网络层的分组传输信道
ii. 提供信道上两点之间的通信管理功能 - 网络层服务:为传输层提供穿越网络的通信服务(最常用协议:IP)
- 传输层服务:屏蔽具体网络细节和不同网络差异,为上层提供与具体网络无关的通信服务(解决丢包、拥塞等问题,其中的TCP协议与IP协议配合)分流与复用功能
- 会话层:决定源端和目的端何时进行何种通话
- 表示层:为应用层要传输的信息内容提供语法和语义表示
- 应用层:各种使用网络通信的应用都属于应用层
2、TCP/IP参考模型
TCP(Transmission Control Protocol)
IP(Internet Protocol)
TCP/IP模型:
3、OSI与TCP/IP的比较
OSI更倾向于面向连接,TCP/IP给用户提供两种方式;前者通用性强,后者实用性强。
服务原语:OSI更适合对硬件动作的描述,程序流程中难以表述;TCP/IP基本都是主动调用底层服务原语,利用原语返回值实现指示、确认。
二、协议和实体
协议(Protocol):对等实体共同遵守的一组规则集(对等层)
协议三要素:1.语法:PDU的格式2.语义3.同步(时序)
时序:完成一件事情的过程,先后过程
时序图:以时间先后关系描述通信交互过程的图(纵轴从上到下为时间轴从前往后)
实体(Entity):
- 层中的活跃元素。执行协议、完成本层功能。
- 每层中可同时存在多个实体
- 用硬件或软件实现(软件的进程/具有逻辑判断的硬件)
对等实体(Peer Entity):同一层存在通信关系的实体,协议存在于对等实体中。
三、封装和解封
1、
缓冲区:新的头部总在最前面,以备第一时间处理;从后向前填充。
头部PDU用结构体实现;封装——入栈;解封——弹栈;
协议数据单元(PDU)由头部(Header)+数据(Data)形成
① 头部:本层实体的控制信息
② 数据:需要传递的数据载荷
2、
PDU(Protocol Data Unit) :PDU用于描述对等层之间的通信
SDU(Service Data Unit):SDU用于描述上下层之间的通信
四、服务(接口、SAP、原语)
接口模型术语
ICI,接口控制信息(Interface Control Information)
辅助实体实现DU传输的参数(每个服务原语都有辅助参数);如:SendTo(对方地址,…,DU)中【对方地址,…】即为ICI
SDU=上层【PDU】,即本层【DU】上下层之间传递的数据单元
IDU=【ICI,SDU】,表示上下层传递的信息和数据
服务原语:
- 请求(Request)上层请求下层执行操作(建立连接、发送数据等)
- 指示(Indicate)下层向上层递交事件(请求建立连接、接收数据等)
- 应答(Respond)上层向下层答复事件的响应(同意建立连接等)
- 确认(Confirm)下层向上层答复请求的执行结果(连接成功建立等)
指示和确认不好利用软件实现
接口 = 层间接口;
接口包含系统原语(函数)和服务访问点(端口)
服务访问点(SAP Service Access Point)
- 是一个TCP实体(不是多个)提供的支持
- 通过SAP标识不同的上层实体
- SAP应用:一对一传输,多对多传输(表示上层实体)
协议栈:某一系统所使用的协议列表,每层一个协议。
利用SAP产生协议间的关联组合称为协议栈
五、面向连接和面向无连接
(一)实体间的通信方式:
- 有头有尾的交流:获得许可才开始,不强行插入第三方;{Connection Mode((面向)连接模式)};可预判,容易实现控制,通信质量更高,更可靠。例如-TCP
保证可靠服务地技术:
① 差错控制:序号、确认、重传
② 流量控制:有效同步双方
缺陷:建立连接的传输延迟,协议实体工作复杂,实现难度大,且与下层是否提供可靠的通信服务有关。 - 不受限制,自由地交流:随时进行,谁都可以;{Connectionless Mode((面向)无连接模式)};通信随机发生,灵活但难以提高可靠性。例如-浏览Web网页
不(保证)可靠服务特点:
①PDU无需编号、也无需初始同步
②可以有应答、也可以无应答
③协议实体功能简单、容易实现
六、虚通信与透明通信
1.实通信:数据/信号在线路上的传输及控制【仅存在物理层】
2.虚通信(横向):各层直接通信的对象是对等层,但数据不是直接交付,而是由下层转交。
3.封装/解封保障了“虚通信”原则
4.透明通信(纵向):强调上下层实体之间的关系,下层实体对高层实体是透明的,对等实体之间的中继节点对该实体来说是透明的。每层协议与下层相对无关,每层协议只考虑对等实体见的交互过程。
5.分流和复用技术
(网络层<->传输层)分流:提高传输层的传输速度;
(网络层<->传输层)复用:降低通信费用;
七、标准和标准化组织
电信领域
ITU-国际电信联盟
- ITU-R无线通信
- ITU-T电信标准化部门
- ITU-D开发部门
国际标准领域
ISO-国际标准化组织:提出OSI的网络互连模型
IEEE-(美国)电气和电子工程师协会:提出局域网大量标准
ANSI-美国国家协会标准
Internet标准领域
IAB-Internet活动委员会
IRTF-Internet研究任务组
IETF-Internet工程任务组
八、服务模式
- 客户/服务器模式:CS(Client/Server)
- 浏览器/服务器模式:BS(Browser/Server)
- 对等模式:P2P(Peer to Peer)
参考资料
中国大学MOOC电子科技大学计算机通信网络
计算机网络(第五版) 清华大学出版社 严伟、潘爱民 译