应用层
主要作用
精确定义应用进程之间所需要的通信规则。
基于TCP的常用协议:HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单的邮件传输协议)、WebSocket
基于UDP的常用协议:DNS(域名系统)、TFTP(简单的文件传输协议)、DHCP(动态主机配置协议)
表示层
主要作用
做数据格式的转换(向上要兼容,向下要转换)
会话层
主要作用
建立、保持和断开通信连接
传输层 数据单位:报文段
主要作用
1.为应用进程提供端到端的逻辑通信。
2.顺序控制、重发控制、流量控制和拥塞控制等功能。
常用协议
-
TCP协议:可靠的、面向连接的。
三次握手:
(1)客户端发SYN包 请求建立连接。
(2)服务器发送SYN和ACK包同意连接。
(3)客户端发ACK包表示连接成功 。
四次挥手:
(1)客户端发FIN包 请求断开连接。
(2)服务器响应一个携带ACK标志位的包,同意断开连接。
(3)服务器再发送一个携带FIN标志位的包,请求断开连接。
(4)客户端最后发送一个携带ACK标志位的包,同意服务器断开连接。 -
UDP协议:无连接、不可靠。
网络层 数据单位:包
主要作用
1.路由选择:
对应协议:
- 内部网关协议(IGP):RIP(基于向量的路由选择协议)、OSPF(开放式最短路径优先:收敛快)
- 外部网关协议(EGP):BGP-4(边界网关协议)
2.分组转发
(1)从数据报首部提取目的主机的IP地址 得出目的网络地址。
(2)网络地址与路由器直接相连 则直接交付 否则间接交付 执行(3)。
(3)若路由表中存在特定主机路由 则直接传给路由表中指定的路由 否则执行(4)。
(4)若路由表中有到达目的网络的路由,则把数据传给路由表所指明的下一跳路由否则执行(5)。
(5)若路由表中有默认路由 则传给默认路由 否则执行(6)。
(6)报告转发分组出错。
协议:IP
数据链路层 数据单位:帧
主要作用
封装成帧:一段数据前后添加首部和尾部。
透明传输:不管收到什么样的字符都可以进行传输:字节填充。
差错检测:差错检测技术 --循环冗余检验(CRC)、帧编号、确认、重传机制。
物理层 数据单位:比特流
主要作用
为设备提供传送数据通路、传输数据。
参考:
《计算机网络(第七版)》 电子工业出版社
《前端程序员面试笔试宝典》