上一个话题说到了网络编程的五层网络模型。
所以该说一下互联网通讯过程具体步骤了。
当小锅买了一台新电脑,准备连上网冲浪,问题来了,应该包含什么步骤呢?
那么,小锅应该这么去做:
打开电脑的系统配置配置以下四个参数:
(1)本机IP地址
(2)本机子网掩码
(3)网关IP地址
(4)DNS服务器地址
为啥是这是四个参数呢?为啥不是别的呢?为啥必须是四个呢?听俺细细为你道来。
1)对方的IP地址
2)对方的Mac地址
如果另一台电脑不在同一个子网内,需要先访问本机所在子网的网关,如下
具体的如何实现通过以下的一个例子说明。
像上面截图手动配置IP的行为对于普通人来说比较难。所以有一个动态分配IP的选项可以给用户选择。
这个过程是通过发送给DHCP服务器来获取需要的地址和参数的。
对于本机发送的数据包而言,它要知道本机的端口号和目的机的端口号和IP地址,以及MAC地址。
那么发送的包中,
数据在子网传播的方式是广播,所以子网中所有的计算机都会收到这个数据包,但是除了DHCP服务器识别到了发送方IP是0.0.0.0,
接收方IP是255.255.255.255,会处理信息并相应外,其他设备都会丢弃这条信息。
DHCP服务器回复的响应信息
当本机收到回复,也就知道分配的IP地址,子网掩码、路由、DNS了。
说一个网络通信的例子
网络通了之后,小锅打开浏览器上网,并且输入网址:
于是本机会发送数据包给DNS服务器请求域名对应的IP地址,遵循的是DNS协议。然后,我们就知道了ai.taobao.com的域名是203.119.169.6。
在发送数据包之前要判断目的设备是否在同一个子网内,所以通过和子网掩码的对比知道对方所在的子网是203.119.169.0,本机所在的子网是
192.168.10.0,不在同一个子网里,所以数据应该发送给网关,
发送的数据包如下
包里的内容如下
当对方服务器收到消息后,通过http协议解析,并恢复消息,本机收到后显示相关页面。
来源:博客园
作者:菜鸟锅的进阶之路
链接:https://www.cnblogs.com/gzhich2019/p/11772834.html