-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
概述
互联网世界最简单的模型就是服务端和客户端,互联的目的就是数据的分享,而分享的准确性和安全性是由一个又一个协议保证的,它们是前人智慧的结晶。
OSI通信模型
完整的七层模型:
1. 应用层
网络服务与最终用户的一个接口。
应用层的功能一般包括标识通信伙伴、定义资源的可用性和同步通信。
协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
2. 表示层
数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)
提供多种功能用于应用层数据编码和转化,以确保以一个系统应用层发送的信息可以被另一个系统应用层识别。
格式有,JPEG、ASCll、DECOIC、加密格式等
3. 会话层
建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
通信会话包括发生在不同网络应用层之间的服务请求和服务应答,这些请求与应答通过会话层的协议实现。
4. 传输层
定义传输数据的协议端口号,以及流控和差错校验。
向高层提供可靠的端到端的网络数据流服务。传输层的功能一般包括流控、多路传输、虚电路管理及差错校验和恢复。
协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层
5. 网络层
负责在源和终点之间建立连接。它一般包括网络寻径,还可能包括流量控制、错误检查等。
进行逻辑地址寻址,实现不同网络之间的路径选择。
协议有:ICMP IGMP IP(IPV4 IPV6) ARP RARP
6. 数据链路层
通过物理网络链路提供可靠的数据传输。不同的数据链路层定义了不同的网络和协议特征,其中包括物理编址、网络拓扑结构、错误校验、帧序列以及流控。(由底层网络定义协议)
将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
7. 物理层
负责最后将信息编码成电流脉冲或其它信号用于网上传输。(由底层网络定义协议)
TCP/IP四层模型
1. 应用层
对应OSI七层模型的应用层、表示层、会话层
2. 传输层
对应OSI七层模型的传输层
3. 网际层
对应OSI七层模型的网络层
4. 网络接口
对应OSI七层模型的数据链路层、物理层
TCP的三次握手和四次挥手:
三次握手过程:
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
四次挥手过程:
第一步,当主机A的应用程序通知TCP数据已经发送完毕时,TCP向主机B发送一个带有FIN附加标记的报文段(FIN表示英文finish)。
第二步,主机B收到这个FIN报文段之后,并不立即用FIN报文段回复主机A,而是先向主机A发送一个确认序号ACK,同时通知自己相应的应用程序:对方要求关闭连接(先发送ACK的目的是为了防止在这段时间内,对方重传FIN报文段)。
第三步,主机B的应用程序告诉TCP:我要彻底的关闭连接,TCP向主机A送一个FIN报文段。
第四步,主机A收到这个FIN报文段后,向主机B发送一个ACK表示连接彻底释放。
参考
OSI七层协议和TCP/IP四层协议
OSI七层网络模型与TCP/IP四层网络模型
TCP/IP四层模型
通俗大白话来理解TCP协议的三次握手和四次分手
三次握手、四次握手内容整理
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels


