乐趣区

温习一下网络基础TCP/IP

通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上运作的,而 HTTP 属于它内部的一个子集
~先来一波书上的知识做个小笔记~
而 TCP/IP 协议是计算机与网络设备互相通讯的规则;简单的说从电缆的规格到 IP 地址的选定方法等与互联网相关联的协议集合起来总称 TCP/IP
通过 TCP/IP 进行分层管理 TCP/IP 协议族按照层次分为 4 层:应用层、传输层、网络层、数据链路层

应用层:决定了向用户提供应用服务时通信的活动;HTTP 协议也处于该层;DNS 服务同样处于这层

传输层:提供处于网络连接中的两台计算机之间的数据传输;在传输层有两个性质不同的协议:TCP 和 UDP

网络层:处理网络上流动的数据包;IP 协议

链路层 / 网络接口层:处理连接网络的硬件设备

以上四层的通讯顺讯用 HTTP 来举例:发送端输入 URL 发送请求(http 协议,http 请求)查看 web 页面

其中 IP 协议的作用是把数据包传送给对方;确保准确的传送的两个重要条件是 IP 地址和 MAC 地址;MAC 地址是指网卡所属的固定地址接下来,要敲小黑板划重点了
常常放在口中的 TCP 连接 3 次握手和四次挥手,到底是怎么实现的呢?emmm… 确实每次都是话到口边却说不来了下面来打包一下,做个一次性总结:为了准确无误的将数据送到目标地,连接时 TCP 采用 3 次握手策略,握手中使用了 TCP 的标志:syn 和 ack

发送端首先发送带 syn 同步序列标志的数据包给接收端
接收端收到后回传一个带有 syn/ack(确认)标志的数据包表示传达确认信息
发送端收到后,在发送一个带有 ack(确认)标志的数据包表示握手结束

当客户端不想再连接了,那么它接下来就要向服务端发起结束请求了,但是这不是谈恋爱,不是一方说分手就能分手的。因为客户端发起结束请求,并不代表服务端此刻已经把所有的数据都返给客户端了;所以就有了四次挥手, 目的也是为了确保客户端与服务端的数据传输是完整的

首先是客户端发起的结束请求,也就是发送 FIN 报文;此时的客户端进入 FIN_WAIT_1 状态
服务端收到 FIN 后,发送一个 ACK 给客户端,确认序号为收到序号 +1(与 SYN 相同,一个 FIN 占用一个序号),服务端进入 CLOSE_WAIT 状态
服务端发送一个 FIN,用来关闭服务端到客户端的数据传送,服务端进入 LAST_ACK 状太
客户端收到 FIN 后,客户端进入 TIME_WAIT 状态,接着发送一个 ACK 给服务端,确认序号为收到序号 +1,服务端进入 CLOSED 状态,完成四次挥手。

HTTP 协议与其他协议之间的关系 DNS 服务:解析对应域名的 IPhttp 协议:生成针对目标 Web 服务器的 HTTP 请求报文 TCP 协议:为了方便数据传递,将 HTTP 请求报文分割成报文段,把每个报文段可靠的传送给对方;或者接收对方的报文段,重组成报文 IP 协议:搜索对方的地址,一边中转一边传送

退出移动版