计算机网络词汇解释(二)——交互、 点到点、端到端
本篇文章试图以:是什么?为什么?怎么样?三个层次来解释词汇,并尽量实现通信的哲学“你传达的复杂信息,到底有没有人愿意听、能够懂、记得住、还给点赞。”由于本人也是初学者,解释的难免会有片面,错误的情况,希望如果有大佬发现可以帮忙指正,提前表示感谢。
往期回顾:
目录
一、点到点
1.是什么
点到点通信针对数据链路层和网络层,以管道化信道的链路模型的表示形式提供一台机器到另一台机器之间的直接相连的通信
2.为什么?
提供了两台机器间直接相连的通信方式
3.点到点的优点与缺点
优点:
- 不参与整个传输过程。
- 不会插值
- 不会复制
- 不会乱序
- 存储转发
- 发送端发出数据后,不知道接收端能否收到或何时能收到数据。
二、端到端
1.是什么
端到端针对传输层,传输层为网络中的主机提供端到端的通信。它是由一段段点到点信道组成的存储式连接模型。
2.为什么
利用两端的计算机实现通信质量的最终保证。
3.端到端的优点与缺点
特点:
- 后发先至
- 存储转发恢复后造成重复
- 滞后
三、帧同步(成帧)
1.前置知识:帧
帧:一个完整的数据块。
2.成帧
成帧:从原始的bit流中提取出离散的帧。
3.帧同步
就是确定帧的界限(起始位置和终止位置)
4.为什么要成帧
将有效数据从噪声中准确提取出来
5.实现的方式
- 字节计数法
- 字符填充首尾定界法(面向字符)
- 位填充首尾定界法(面向位)
- 物理层编码违例法(曼彻斯特编码)
- 校验和法(ATM)
四、ARQ
1.自动重传请求(auto repeat request)
自动重传请求(auto repeat request),通过接收方请求发送方重传出错的数据报文来恢复出错的报文。
2.为什么要自动重传
数据传输中可能出现差错,这时候接收方为了得到正确的数据,就要向接收端发出请求重发出现错误数据的报文。
3.传统自动重传请求
传统自动重传请求分成为三种,即停等式(stop-and-wait)ARQ,回退n帧(go-back-n)ARQ,以及选择性重传(selective repeat)ARQ。三者的区别在于对于出错的数据报文的处理机制不同。
- 停等式ARQ:数据报文发送完成之后,发送方等待接收方的状态报告,如果状态报告报文发送成功,发送后续的数据报文,否则重传该报文。
- 回退n帧的ARQ:当发送方接收到接收方的状态报告指示报文出错后,发送方将重传过去的n个报文。
- 选择性重传ARQ:当发送方接收到接收方的状态报告指示报文出错,发送方只发送传送发生错误的报文。
五、流量控制
1.是什么
流量控制:对发送方发送速率或接收方接收速率的控制。
2.为什么需要流量控制
控制发送方的发送速率,与接收方的接收速率。让接收方与发送方处于一种动态平衡。
3.基本的流量控制方法
- 防止因发送方速度过快,导致接收方被淹没,而让发送方降速的机制
- 降低应答速度,只能在一定限度内降低流量
- 使发送方完全停止,直到接收方重新就绪
六、三次握手(建立连接)
1.什么是三次握手
三次握手指通信双方为了建立连接的过程
2.为什么需要三次握手
解决两次握手中长延时报文给通信双方带来的问题
3.怎样实现
序号差判断报文生命期
- 序号大小具有时序特征:递增,且
时差=序号差÷序号粒度,
序号粒度:单位时间内平均发送的报文数量,与数传速率有关 - 序号差计算简单,而且没有额外开销
生命期 > 往返时延 / 2
序号空间>生命期序号差 * 2
七、海明距离
1.是什么
两个码字中不同的位的个数。
2.、海明距离有什么用
用于编码的检错和纠错
3.应用
海明编码:增加冗余位拉开海明距离
(m+r+1)< 2^r 其中m为码长,r为需要增加的纠错码
八、捎带应答
1.是什么
在向目标回复ACK信号时,顺带发送自己向目标发送的数据。
2.为什么
“一发一收”的传输效率低下,数据可以搭顺风车。
3.怎么样
节约资源,减少出错的概率。
九、PPP
1.点对点协议PPP(Point-to-Point Protocol)
点对点协议是数据链路层常见的协议,满足点到点信道、线路质量差、 需要用户身份认证三个环境特点而设计出来的协议。
2.为什么要设计PPP协议
- 分散网络之间通过程控交换网连接
- 大量主机连接Internet的接入路由器
3.PPP的特点
- 面向连接的服务/操作
- 面向字符同步
- 可支持多种网络层协议
- 支持用户身份认证
- 支持IP地址协商
十、套接字
1.是什么
命名空间的元素都可称为套接字接口。一个套接字接口构成一个连接的一端,而一个连接可完全由一对套接字接口规定。
2.作用
为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字 (Socket)的接口,区分不同应用程序进程间的网络通信和连接。
3.通信流程
服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接。在这时如果有个客户端初始化一个Socket,然后连接服务器(connect),如果连接成功,这时客户端与服务器端的连接就建立了。客户端发送数据请求,服务器端接收请求并处理请求,然后把回应数据发送给客户端,客户端读取数据,最后关闭连接,一次交互结束。