TCP/IP四层模型 与OSI七层模型
OSI七层模型
物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
我们所熟悉的IP是网络层TCP是传输层
IP与TCP
1.IP层传输单位是IP分组,属于点到点的传输;TCP层传输单位是TCP段,属于端到端。
UDP与TCP区分
1.UDP面向无连接,TCP面向连接所以TCP比UDP可靠,所以UDP快
2.UDP只管发出去不管发成不成功,TCP有超时重发,检验等级制,所以TCP比它更可靠。
传输层:觉得数据怎样在网络中传输
应用层:负责数据的包装以及识别,没有应用层传输过来的数据无法被识别。
TCP连接的三次握手
第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;(我告诉服务器我要建立连接你愿意吗)
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;(我已经收到你的请求了,我也同意建立连接)
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。(我收到了你愿意和我建立连接的信息,我们开始传输吧)
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。
理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。
断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断开过程需要经过“四次握手”,四次握手为什么比三次握手多一次呢?原因就在于当客户端发送我要断开的请求,传送到服务器端时,有可能数据还没有发送完,此时客户端虽然发送了断开请求但是可以接受数据,所以服务器会发送完之后再发送我知道了我也断开请求,客户端再发送我收到你知道我想断开的请求并且你也要断开的消息。至此四次完成。TCP/IP四层模型
数据链路层,网络层,传输层,应用层
七层模型与四层模型的关系以及区别
1.从发展历程看:七层模型是先有理论支撑再有实践,而四层模型是先有实践然后根据实践在仿照七层模型提出了四层模型。
2.从实用性看:七层模型是理论模型,而四层模型被广泛运用,成为互联网的标准
OSI七层网络模型 |
TCP/IP四层概念模型 |
对应网络协议 |
应用层(Application) |
应用层 |
HTTP、TFTP, FTP, NFS, WAIS、SMTP |
表示层(Presentation) |
Telnet, Rlogin, SNMP, Gopher |
|
会话层(Session) |
SMTP, DNS |
|
传输层(Transport) |
传输层 |
TCP, UDP |
网络层(Network) |
网络层 |
IP, ICMP, ARP, RARP, AKP, UUCP |
数据链路层(Data Link) |
数据链路层 |
FDDI, Ethernet, Arpanet, PDN, SLIP, PPP |
物理层(Physical) |
IEEE 802.1A, IEEE 802.2到IEEE 802.11 |
还有web socket等我再好好看看,现在还不是很了解。