网络(计算机网络体系结构模型 - 7层结构)

一、OSI与TCP/IP各层的结构与功能,都有哪些协议?

1.1 应用层

通过应用进程间的交互来完成特定网络应用
包括域名系统 DNS,HTTP协议

1.2 运输层

  • TCP 传输控制协议 面向连接的,可靠的,字节流,效率低的
  • UDP 用户数据协议 无连接的,不可靠的,数据报文段,效率高的

1.3 网络层

在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点,确保数据及时传送。

1.4 数据链路层

数据链路层 通常简称为链路层。两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。

二、TCP 三次握手和四次挥手

2.1 TCP 三次握手
三次握手
简单示意图:

  • 客户端-发送带有SYN标志的数据包-一次握手-服务端
  • 服务端-发送带有SYN/ACK标志的数据包-二次握手-客户端
  • 客户端-发送带有ACK标志的数据包-三次握手-服务端

2.2 为什么要三次握手
三次握手为了确认自己与对方的发送是正常的。

2.3 TCP 四次挥手
四次挥手
断开一个TCP连接则需要"四次挥手"

  • 客户端-发送一个FIN,用来关闭客户端到服务器的数据传送
  • 服务器-收到这个FIN,他发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号
  • 服务器-关闭与客户端的连接(半关闭),发送一个FIN给客户端
  • 客户端-发回ACK报文确认,并将确认需要设置为收到序号加1

2.4 为什么要四次挥手
任何一方都可以在数据传送结束后发出连接释放的通知,待对方确认后进入半关闭状态。当另一方也没有数据再发送的时候,则发出连接释放通知,对方确认后就完全关闭了TCP连接。

TCP与UDP对比

TCP与UDP对比

总结自 JavaGuide

Last modification:January 27th, 2020 at 10:44 pm
如果觉得我的文章对你有用,请随意赞赏