超级易懂的互联网通信(上)

395 阅读2分钟

五层网络模型

网络模型-五层 应用层:应用程序的数据格式、数据内容。
传输层:UDP协议/TCP协议、系统端口、应用端口。
网络层:IP协议、分配IP地址、确定子网络。
链接层:以太网协议、MAC地址、子网广播。
实体层:也是物理层、信号传播介质、如线缆。

网络数据包结构

标头、数据 网络模型-数据包结构

如下精简步骤,反映了互联网通信的基本原理

(一)DHCP协议-联网

通过DHCP协议进行广播,在内网获取内动态Ip、子网掩码、网关IP、DNS的IP后,可以联网啦

网络模型-动态IP-DHCP协议 无论是动态IP,还是静态IP,想要联网都必须设置如下参数(参数值以实际为准)

* 本机的IP地址:192.168.1.100
* 子网掩码:255.255.255.0
* 网关的IP地址:192.168.1.1
* DNS的IP地址:8.8.8.8

(二)DNS协议-域名解析为IP

网络模型-DNS域名解析

DNS协议可以帮助我们,将这个网址www.google.com转换成IP地址。已知DNS服务器为8.8.8.8,于是我们向这个地址发送一个DNS数据包(53端口)。然后,DNS服务器做出响应,告诉我们Google的IP地址是172.194.72.105。于是,我们知道了对方的IP地址。

(三)子网掩码-计算通信目标是否在同一子网内

1.本机IP和子网掩码进行AND运算得A,目标IP与子网掩码进行AND运算得B,若A=B,则在同一子网络,否则向上游网关转发;

2.网关的IP地址,结合它自己的子网掩码,可用于确定目标IP是否与此网关处于同一子网络;若不在同一子网,则向上级网关转发,以此类推;

3.DNS的IP地址,用于将目标域名解析为IP地址。

(四)ARP协议-若在同一子网内,获取对方MAC地址,即可通信

通过ARP协议获取同一子网内的电脑的MAC地址获取

如果两台主机在同一个子网络,那么我们可以用ARP协议,得到对方的MAC地址。ARP协议也是发出一个数据包(包含在以太网数据包中),其中包含它所要查询主机的IP地址,在对方的MAC地址这一栏,填的是FF:FF:FF:FF:FF:FF,表示这是一个"广播"地址。它所在子网络的每一台主机,都会收到这个数据包,从中取出IP地址,与自身的IP地址进行比较。如果两者相同,都做出回复,向对方报告自己的MAC地址,否则就丢弃这个包。

总之,有了ARP协议之后,我们就可以得到同一个子网络内的主机MAC地址,可以把数据包发送到任意一台主机之上了。

参考自
互联网协议一
互联网协议二