五层模型
五层模型:物理层、数据链路层、网络层、传输层、应用层
- 应用层:应用层的任务是
通过应用进程间的交互来完成特定网络应用
。应用层的协议定义了应用进程间通信和交互的基本规则
。(DNS析协议、HTTP协议) - 传输层:
负责向两台主机之间的进程通信提供通用的数据传输服务
。(TCP协议、UDP协议) - 网络层:
负责为分组交换网中上的不同主机提供通信服务
。发送数据时,网络层把运输层产生的报文或数据封装成分组或者包进行传送(IP数据报)(IP协议) - 数据链路层:
数据链路层将⽹络层交下来的 IP 数据报组装成帧,在两个相邻节点间的链路上传送帧。
。 - 物理层:
定义了主机和物理设备的联系,以及比特流的传输
。
- 几个重要概念
- MAC地址:网卡的地址,就是数据包的发送地址和接收地址,这叫做 MAC 地址。
- 广播:在通过MAC地址进行数据包传输时,以太网向本网络内的所有计算机发送,让每台计算机判断自己是不是接收方,如果数据包中 的MAC地址和自己的相同,就接受这个包,否则就丢弃。
- 子网掩码:判断IP地址是不是在同一个子网络时,通过IP地址和子网掩码进行二进制AND运算,得到的结果相同就在同一个子网内。
- 网关:当两个电脑不在同一个子网时,无法知道对方的MAC地址,必须把数据包发送到网关处,再由网关通过路由协议发送给另一个网关,再进行转发。
- MTU(最大传输单元):MTU主要是
为了限制一次传输的最大IP数据报的值
,如果IP层有一个数据报要传,而且数据长度比数据链路层的MTU大,则就需要将IP数据报进行分片,使每一片都小于MTU。 - 路径MTU:两台通信主机路径中各网络的最小MTU。
- MSS(最大分段大小):
MSS是TCP数据包每次能够传输的最大数据分段,TCP报文段的长度大于MSS时,要进行分段传输。
TCP协议在建立连接(前两次握手)的时候通常要协商双方的MSS值,每一方都有用于通告它期望接收的MSS选项。MTU = MSS + TCP Header + IP Header。
【补充】:对IP分片的数据报来说,即使只丢失一片数据也要重新传整个数据报。这是因为IP层本身没有超时重传机制------由更高层(比如TCP)来负责超时和重传。当来自TCP报文段的某一段(在IP数据报的某一片中)丢失后,TCP在超时后会重发整个TCP报文段。
重要的协议
- 应用层上的协议
- DNS协议:负责将输入的域名转换成IP地址。两种解析方式:递归解析、迭代解析。
(1)递归查询:本机向本地域名服务器发出一次查询请求,就静待最终的结果。如果本地域名服务器无法解析,自己会以DNS