今天温习了下之前的网络通信,以及TCP/IP相关的知识。
计算机网络的标准定义
利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来,以功能完善的网络软件及协议实现资源共享和信息传递的系统。
OSI七层模型
物理层: 网线物理层
数据链路层:提供介质访问和链路管理
网络层:IP及路由选址
传输层:建立和管理端到端的连接
会话层:建立会话
表示层:数据格式转换、数据加密
应用层:为应用程序提供服务
TCP/IP 五层模型
TCP:一种可靠的数据传输,面向连接。
UDP:不可靠连接传输。
TCP三次握手
第一次:客户端发送SYN置为1,请求报文的Sequence Number字段(seq)中填入一个随机值 J,并将该数据包发送给服务器端,客户端进入SYN_SENT状态,等待服务器确认。
第二次: 服务器端收到数据包后由请求报文标志位SYN=1,知道客户端请求建立连接,服务器端将应答报文标志位SYN和ACK都置为1,应答报文的ack中填入 ack = 随机数J+1; 应答报文的seq中填入一个随机值K,并将数据包发送给客户端。服务器端进入SYN_RCVD状态。
第三次: 客户端收到应答报文后,检查ack是否为随机数J+1,ACK是否为1,如果正确,则将第三个报文标志位ACK置为1,ack =k+1,并将该数据库发送给服务器端,服务器端检查ack是否为K+1,ACK是否为1,如果正确则建立连接,客户端和服务器端进入ESTABLISHED状态,完成三次握手。