计算机网络学习笔记(一)——分层模型、协议、服务、连接模式、标准化组织
文章目录
- 前言
- 概念
- 一、两种参考模型
- 二、协议和实体
- 三、封装和解封
- 四、服务(接口、SAP、原语)
- 五、面向连接和面向无连接
- 六、虚通信与透明通信
- 七、标准和标准化组织
- 八、服务模式
- 参考资料
前言
笔者系电子科技大学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电子科技大学计算机通信网络
计算机网络(第五版) 清华大学出版社 严伟、潘爱民 译
计算机网络学习笔记(一)——分层模型、协议、服务、连接模式、标准化组织相关推荐
- 【计算机网络学习笔记07】PPP协议、IP编址、NAT技术
[计算机网络学习笔记07]PPP协议.IP编址.NAT技术 一.PPP协议 是TCP/IP网络中最重要的点到点的数据链路层协议. 1 PPP协议的组成 1)链路控制协议:建立并维护数据链路连接(身份验 ...
- 【计算机网络学习笔记】(汇总目录)
计算机网络学习笔记(汇总目录) 文章目录 点击以下标题,跳转到对应章节的详细讲解 [计算机网络学习笔记01]计算机网络概述(上) [计算机网络学习笔记02]计算机网络概述(中) [计算机网络学习笔记0 ...
- 计算机网络学习笔记(2. 什么是网络协议)
计算机网络学习笔记(2. 什么是网络协议) 1. 协议是计算机网络有序运行的重要保证 硬件(主机,路由器,通信链路等)是计算机网络的基础 计算机网络中的数据交换必须遵守事先约定好的规则 如同交通系统 ...
- 【计算机网络学习笔记06】以太网帧结构、HDLC协议
[计算机网络学习笔记06]以太网帧结构.HDLC协议 一.以太网帧结构 1.1 两种帧格式 1)Ethernet_II帧格式 2)IEEE802.3帧格式 1.2 帧的3种发送方式 1)单播: 帧从单 ...
- 【计算机网络学习笔记09】ARP地址解析协议
[计算机网络学习笔记09]ARP地址解析协议 ARP地址解析协议 在实际应用中,我们常会遇见这样的问题:已知一个机器(主机或路由器)的IP地址,需要找出其相应的硬件,这时就需要使用到地址地址解析协议( ...
- 【计算机网络学习笔记】计算机网络
计算机网络学习笔记 第一章 计算机网络概述 1. 计算机网络概述 1.1 计算机网络的概念 1.2 计算机网络的组成 1.3 计算机网络的功能 1.4 计算机网络的分类 1.5 计算机网络的标准化工作 ...
- 计算机网络学习笔记(详尽版)
计算机网络学习笔记 计算机网络 第一章 定义和特点 网络 定义 功能 特点 组成 类别 性能 结构 本章重要概念 第二章 物理层 基本概念和标准 数据通信基础知识 物理层下的传输媒体 引导型传输媒体 ...
- 计算机网络学习笔记Part1
计算机网络学习笔记Part1 1. 概念 计算机网络:是一个将分散的.具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统. 2.功能 1.数据通信.2. ...
- 计算机网络学习笔记:第三章
文章目录 计算机网络学习笔记:第三章 前言 3.1.概述和运输层服务 3.1.1 运输层和网络层的关系 3.1.2 因特网运输层概述 3.2.多路复用与多路分解 前言 运输层位于应用层和网络层之间,是 ...
- 计算机网络学习笔记:第二章
文章目录 计算机网络学习笔记:第二章 前言 2.1.应用层协议原理 2.1.1 网络应用程序体系结构 2.1.2 进程通信 2.1.3 可供应用程序使用的运输服务 2.1.4 因特网提供的传输层服务 ...
最新文章
- C#图片处理常见方法性能比较
- MPB:浙大王佳堃组瘤胃微生物移植(视频)
- jquery 实现仿QQ右下角弹出框
- iOS10 UI教程视图调试
- nginx禁止对写操作timeout时retry
- python创建变量_Python每天一分钟:给类对象动态新增/删除成员变量和方法(函数)...
- ImportError: cannot import name *
- 高亮显示搜索的关键词(二)
- 拓端tecdat|R语言广义二次跳跃、非线性跳跃扩散过程转移函数密度的估计及其应用
- 基于springboot+vue的医院预约系统(前后端分离)
- 吾爱破解crackme 023 024
- 9行代码制作一个简单的油猴插件
- iOS_21团购_拼音搜索
- 流程图 选择结构 (一)
- Python的excel表格操作,数据提取分析
- bool-布尔型变量
- Jmeter+Ant 接口自动化环境配置指南
- c++ 虚函数多态、纯虚函数、虚函数表指针、虚基类表指针详解
- Android App 换肤实现方式
- 单片机工程师是程序员吗?真实的月薪到底有多少?
热门文章
- Opencv——图像膨胀
- Python面试题大全(五):测试、大数据、数据结构、架构
- Linux 输入输出重定向 2>/dev/null和>/dev/null 2>1和2>1>/dev/nul
- mesos marathon mysql_Mesos和Marathon简介
- mysql 异步复制建立过程_mysql生产环境高可用---基于GTID异步复制项目实施
- pythonui自动化测试脚本实战_Python UI自动化测试实战 Zero to Hero Se
- 服务器系统核心和带gui区别,Windows Server 2012图形用户界面(GUI)和服务器核心(Server Core)之间的切换...
- mysql一对多增删改查_SpringBoot+MySql+ElementUI实现一对多的数据库的设计以及增删改查的实现...
- Python序列类型常用函数练习:enumerate() reversed() sorted() zip()
- 最近公共祖先_leetcode No.236 二叉树的最近公共祖先