自己多学习一下,整理了一下学习资料,面试题之类的。
1、TCP相关面试题
(1)介绍一下OSI七层模型和TCP五层模型?
OSI七层模型从上到下依次为:
应用层:为应用程序提供网络服务;
表示层:数据格式转换、数据压缩和数据加密;
会话层:建立、断开和维护通信链接;
传输层:为上层协议提供端到端的可靠传输;
网络层:寻址和路由;
数据链路层:定义通过通信媒介互连的设备之间传输的规范;
物理层:利用物理传输介质为数据链路层提供物理连接。
TCP五层模型相比OSI七层模型,将OSI的应用层、表示层和会话层合为一层:应用层,其他不变。
(2)什么是面向有连接型和面向无连接型?
- 面向有连接型传输包括会话建立、传输数据和会话断开,此外还包括保证传输可靠性的各种措施,比如超时重传、流量控制等,常见的面向有连接传输有TCP;
- 面向无连接型传输仅提供基本的传输数据的功能,即使接收端不存在,发送端也能发送数据包,常见的面向无连接传输有UDP、IP。
(3)什么是UDP和TCP?UDP和TCP的区别是什么?
UDP和TCP都是传输层的协议,用来建立可靠的通信传输链接的。
UDP仅提供了最基本的数据传输功能,至于传输时连接的建立和断开、传输可靠性的保证这些UDP统统不关心,而是把这些问题抛给了UDP上层的应用层程序去处理,自己仅提供传输层协议的最基本功能。
TCP作为一种面向有连接的协议,只有在确认通信对端存在时才会发送数据,会在传输开始前建立连接,传输结束后断开连接,此外,TCP还采取了多种措施保障传输的可靠性。
TCP和UDP的区别如下:
- TCP是面向有连接型,UDP是面向无连接型;
- TCP是一对一传输,UDP支持一对一、一对多、多对一和多对多的交互通信;
- TCP是面向字节流的,即把应用层传来的报文看成字节流,将字节流拆分成大小不等的数据块,并添加TCP首部;UDP是面向报文的,对应用层传下来的报文不拆分也不合并,仅添加UDP首部;
- TCP支持传输可靠性的多种措施,包括保证包的传输顺序、重发机制、流量控制和拥塞控制;UDP仅提供最基本的数据传输能力。
(4)TCP对应的应用层协议有哪些?UDP对应的应用层协议有哪些?
TCP对应的典型的应用层协议:
- FTP:文件传输协议;
- SSH:远程登录协议&#