计算机网络就是通过传输介质、通信设施和网络协议,把分散在不同地点的计算设备互连起来,实现资源共享和数据传输的系统。
TCP/IP协议簇
TCP/IP协议栈是一系列网络协议的总和,是构成网络通信的核心骨架。
分层模型
TCP/IP协议栈的分层模型常见的有2个,分别是TCP/IP参考模型和ISO组织提出的OSI参考模型。在TCP/IP参考模型中将网络分为网络访问层【数据链路层】、互联网层【网络层】、传输层、应用层共4层,OSI参考模型分为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层共7个层。
TCP/IP参考模型
TCP/IP协议采用4层架构,从上向下分为应用层、传输层、网络层和链路层,每一层都可以使用其下一层的协议完成自己的需求,不允许下层访问上层。
当通过http协议发起一个请求时,从上往下依次通过应用层、传输层、网络层和链路层,每一层相关协议都依次对数据包进行处理,并携带响应的首部,最终在链路层生成以太网数据包,通过物理介质进行传输,传送到对方主机后,对方主机再依次从下向上使用响应协议进行拆包,最终经应用层数据交给应用程序进行处理。
三次握手
TCP是面向连接的协议,连接连接需要有3个阶段:连接建立、数据传送和连接释放。其中连接建立需要经历3个步骤,通常称为三次握手。
1、第一次握手,客户端发起请求
2、第二次握手,服务器端回传确认
3、第三次握手,客户端回传确认
四次挥手
由于TCP连接是双工的,所以每个方向都必须单独进行关闭。
粘包