OSI七层协议模型
OSI七层模型包括应用层,表示层,会话层,传输层,网络层,数据链路层以及物理层。示意图如下所示:
- 应用层: 由用户自己规定,规定各个应用之间消息传递的形式等,包括各机互访协议,分布式数据库协议等。常见的应用层协议有HTTP协议和FTP等。
- 加粗样式 表示层:在满足用户需求的基础上,尽可能的节省传输费用而设置的,比如传输压缩文件,jpeg或者加密文件等格式。
- 会话层: 用于建立和拆除会话。
- 传输层: 负责将来自会话层的消息传递给网络层,常见的传输层协议有TCP和UDP等协议。
- 网络层: 规定通信网内的路由选择等方式,建立用户间的信息报传输设施。常见的网络层协议有IP,ICMP以及ARP等协议。
- 数据链路层: 与建立数据传输链路相关。
- 物理层: 规定一些机电性能,也包括工作方式如双工、单工或半双工,建立通信的启动和终止等。
可以这么记忆:要想传输东西,我们需要规定两个应用之间传输的请求和响应格式,那就是应用层负责的事情;接下来是需要规定传输格式,这就是表示层;然后需要会话层来建立会话;由传输层将数据包传输到网络层,然后通过数据链路来传输;最底层还需要物理层来规定一些物理硬件层面的东西。
总结:应用层->表示层->会话层->传输层->网络层->数据链路层->物理层
TCP和UDP协议的区别?
TCP和UDP协议都是传输层常见的协议,它们的主要区别如下所示:
- TCP协议进行数据通信之前需要三次握手建立连接,UDP协议不需要建立连接即可发送数据。
- TCP有确认机制,丢包可以重发,保证数据的正确性;UDP不保证正确性,只是单纯的负责发送数据包。
- TCP协议可能会对大数据包进行拆分,并且在接收方进行重组数据包操作;UDP协议是面向报文的,不会进行分片和重组,所以需要注意传输的报文大小。
- 网络包中的TCP头部为20个字节;UDP头部只有8个字节。