1.七层OSI模型,5层TCP模型
OSI模型
物理层:保证物理连接的建立保持和释放,保证物理媒体传播比特流
数据链路层:保证两个相邻节点之间的无差错传输数据帧
网络层:确定分组路由,保证发送端分组根据地址到达接收端,实现主机间传输
传输层:用于应用程序端到端之间的透明数据传输
会话层:用于应用进程之间建立、保持和交互
表示层:用于解决传输信息的语法表示
应用层:为进程提供服务,同时对其功能和协议标准化
TCP模型
物理层:用于保证物理连接的建立保持和释放,保证物理媒体的比特流传播
数据链路层:用于保证两个相邻节点的无差错传输数据帧
网络层:确认分组路由,保证发送端分组按照地址到达接收端,实现主机间传输
传输层:用于应用程序端到端之间的透明数据传输
应用层:为应用进程提供服务,为其功能和协议标准化
2.数据表现形式:
比特流->数据帧->分组->报文段->数据报文
3.各层相关设备:
物理层:集线器HUB。将机器连接起来建立局域网,共享带宽
数据链路层:交换机。让交换机内的主机独享带宽
网络层:路由器。连接不同网络,并且为网络传输找到合适的路径
4.各层相关协议:
物理层、数据链路层:底层协议
网络层:IP(网际协议)、ICMP(Internet控制报文协议)、IGMP(Internet组管理协议)、ARP(地址解析协议)、RARP(逆地址解析协议)
传输层:TCP(传输控制协议)、UDP(用户数据报协议)
应用层:HTTP(超文本传输协议)、DNS(域名系统)、FTP(文件传输协议)、TFTP(简单文件传输协议)、SMTP(简单邮件传输协议)、SNMP(简单网络管理协议)
5.TCP三次握手四次挥手实现流程
因为TCP面向连接,所以需要保证客户端和服务端的数据完整性和有序性
三次握手:
首先服务端被动打开接受客户端连接,客户端主动打开
第一次:SYN报文段
SYN同步位置1,ACK确认位置0
客户机发送SYN报文段,SYN报文段里说明要连接服务端的端口和客户端顺序号SEQ,用来对客户端发送的数据进行排序(可选数据最大长度MSS)
第二次:SYN+ACK报文段
SYN同步位置1,ACK确认位置1
服务端收到客户机发来的报文后,对SYN报文段进行确认(对客户端初始序号加一,ACK客户端确认号=SEQ客户端+1),同时发送服务端顺序号SEQ,对服务端发送的数据进行排序(可选MSS最大数据长度)
第三次:ACK报文段
SYN同步位置0,ACK确认位置1
客户端确认收到SYN+ACK报文段,(对服务端序号加一,ACK服务端=服务端SEQ+1)这时,客户端向上通知进程连接已建立,可以发送和接收数据,,服务端在收到确认后也向上通知进程连接建立,可以收发数据
四次挥手:
第一次:FIN报文段(客户端主动关闭连接)
FIN终止位置1
客户端发送一个FIN报文段,发送客户端顺序号SEQ并且主动关闭连接不再发送数据,但是可以继续接受数据
第二次:ACK报文段(服务端对客户端的关闭进行确认)
服务端发送ACK报文段,对客户端顺序号+1(ACK=SEQ+1),同时发送服务端的
第三次:FIN报文段(服务端关闭连接)
FIN终止位置1
服务端继续发送数据直到没有,然后发送FIN报文,对服务端顺序号SEQ+1,对客户端ACK与第二次一致,服务端关闭连接不再发送数据
第四次ACK报文段(客户端确认服务端关闭连接)
客户端对服务端的关闭进行确认发送ACK报文,ACK服务端=SEQ+1,客户端顺序号SEQ+1