从用户端到服务端,tcp/ip模型可分为应用层、传输层、网络层、网络接口层 以下使用寄快递为例进行解释
应用层职责:
只关注与为用户提供应用功能,如HTTP、FTP、telnet、DNS、SMTP等 ,应用层的职责就像我们寄快递时将快递给快递员,不关心他们是如何运输的
传输层职责:
应用层的数据包传给传输层,传输层则是为应用层提供网络支持的。其作为应用间数据传输的媒介,帮助实现应用到应用间的通信,而实际的传输功能在网络层实现。就像我们寄快递时一站到下一站应采用什么交通工具进行运输的确定。
传输层有两个协议:
tcp(传输控制协议\可靠性传输协议)和udp,
tcp和udp的区别:
- tcp传输较为可靠,其在传输中会关注数据是否正确传输给对方,且对方是否正常接收到;而udp不会关心我是否发送成功,也不会关心对方是否收到,我就只管发
- tcp由于可靠性较强,所以比udp多了很多特征,如:流量控制、超时重传、拥塞控制等等,这些都是为了保证数据包正常的传输
- udp相对于tcp而言较为简单,传输效率较高
- 但是udp也可以实现可靠性传输,但是其效率就会大大减小,且实现较难
网络层职责:
负责将数据从一个设备传输到另一个设备,常用的有Ip协议,
IP协议的作用:
- 从一堆设备中找到要发送到的目的地设备,即寻址
寻址的过程:
以10.100.122.0/24为例
Ip地址分为两种意义,1---网络号,负责标识该IP地址是属于哪个【子网】的;2---主机号,负责标识同一子网下的不同主机。
首先通过IP识别出子网掩码即 以上ip中的24转化为子网掩码为:255.255.255.0,即前24为1,后8为0:11111111 1111111 11111111 00000000
10.100.122.0和255.255.255.0进行位于运算-----得到网络号
先匹配到相同的网络号,再在这个子网中去匹配对应的主机
将 255.255.255.0 取反后与IP地址进行进行按位与运算------得到主机号2
- IP的另一个作用:
路由:决定数据包到达某个网点后下一步选择哪个路径进行传输
IP寻址的作用告诉我们的快递下一站将到达哪里,路由的作用则是根据【下一个目的地】选择路径
网络接口层:
接口网络层负责发送数据,其将网络层的数据报加上MAC头部,MAC包含了发送方和接收方的MAC地址信息,我们可以通过APR协议获得对方的MAC信息。所以说网络接口层为网络层提供 [链路级别] 传输的服务。负责在以太网、wifi这样的底层网络上发送原始数据包,工作在网卡这个层次上,使用MAC地址来标识网络上的设备。
参考链接: 小林coding