揭阳网站定制,电子商务网站建设实践,建设母婴网站的目的,模板网站好还是定制网站好1、URL包含的信息
我们输入的url中包含着一些信息#xff1a; http#xff1a;表示的此次我们使用的什么协议/www.baidu.com#xff1a;表示的是我们想要访问的服务器名称#xff0c;也就是域名dir3/home.html#xff1a;表示我们所要访问的资源
2、通过DNS解析URL获得I…1、URL包含的信息
我们输入的url中包含着一些信息 http表示的此次我们使用的什么协议/www.baidu.com表示的是我们想要访问的服务器名称也就是域名dir3/home.html表示我们所要访问的资源
2、通过DNS解析URL获得IP
在计算机寻址中我们是通过ip进行转发的所以在进行信息发送之前我们需要将URL转化为IP。
在DNS服务器中储存了服务器域名和IP的对应关系。
其实真实域名是www.baidu.com.在最后还有一个点。这个点代表的就是根域名服务器。
域名服务器有 DNS解析IP过程
客户端会先询问本地域名服务器看它是否知道这个域名所对应的ip地址。如果本地域名服务器不知道就会去问本地域名服务器就问讯根域名服务器让他告诉自己这个域名属于哪个顶级域名服务器。拿到所对应的顶级域名服务器地址后就会问询这个域名所对应的是哪个权威域名服务器。拿到对应的权威域名服务器后本地域名服务器会就直接问权威域名服务器说这个域名所对应的IP地址是什么。此时权威域名服务器就可以直接将域名所对应的IP返回给本地DNS。此时本地DNS就将IP返回给客户端则客户端就和目标服务器进行连接建立。 并不是每此建立连接都有这么多过程。因为有缓存这个东西。客户端会先看看浏览器有没有这个域名缓存如果没有则会去看看操作系统有没有这个缓存如果没有就再去hosts文件看有没有标注这个域名和IP的关系都没有的话才会去询问本地域名服务器。 3、传输层
获取到IP后就轮到网络传输中各个层起作用的时候了对数据进行封装和传输。
在HTTP传输数据前要先建立TCP连接也就是TCP三次握手。这三次握手的作用就是确认客户端和服务端双方都具有接收和返送消息的能力。
当数据过长时超过MSS长度时TCP会对HTTP包进行拆解并把拆解出来的部分放到单独的TCP包中。 MSS除去 IP 和 TCP 头部之后一个网络包所能容纳的 TCP 数据的最大长度。 在TCP包中所包含的信息 在TCP协议中源端口号和目标端口号是必不可少的。这两个端口号用于确定数据属于哪个应用程序。 TCP还使用序列号来解决数据包乱序的问题。通过为每个数据包分配一个序列号接收方可以将乱序的数据包按照正确的顺序进行重组。 确认号也是TCP中的重要元素。发送方在收到确认号之前会一直重复发送数据包直到接收方发送确认号回复。这样可以解决数据包丢失的问题。 还有一些状态位也是TCP中的重要内容。例如SYN用于建立连接ACK用于确认接收到的数据RST用于重新连接FIN用于结束连接等。TCP是一种面向连接的协议因此双方需要维护连接的状态并通过发送带有状态位的数据包来更新状态。 此外TCP还使用窗口大小来进行流量控制。通信双方会声明自己的窗口大小以指示自己的处理能力。通过控制发送速度TCP可以防止发送方发送过多的数据导致接收方无法处理。 TCP还会做拥塞控制在网络情况差时TCP可以通过控制自身的发送速度来减轻网络拥塞的影响。
加上TCP头后此时网络包是 建立网TCP包后数据包就传输到了网络层进行转发。
4、网络层
在 IP 协议里面需要有源地址 IP 和 目标地址 IP
源地址IP即是客户端输出的 IP 地址目标地址即通过 DNS 域名解析得到的 Web 服务器 IP。在转发过程中通过路由表规则判断转发到哪一个网段。匹配规则就是目的地址与路由表条目中的对应掩码进行与运算如果运算后结果与相对应的条目相同则转发到此条目所对应的端口所对应的网段中去。一般还说路由器都有一个默认网关如果前面具体的条目每一个对应上的则会转发到默认网关所对应的网段中去。
我们经常使用一个Ping命令用于判断网络是否可达这个命令使用的就是ICMP协议是TCP/IP协议族的一部分它运行在IP层之上用于传输错误信息和控制信息。
当IP层接收到一个较大的数据包并且知道下一跳的链路层MTU小于该数据包的大小时IP层会对数据包进行拆分。每个拆分后的片段都会有一个新的IP头部其中包括标识符、标志位和片段偏移字段这些信息用于在接收端重组原始数据包。 MTUMaximum Transmission Unit最大传输单元是指在一个特定的网络层或链路层上可以传输的最大数据包大小不包括头部信息。在以太网中标准的MTU通常是1500字节。 5、数据链路层MAC层
在上一层中我们通过IP路由转发可以进行路由转发进行远程定位但点到点中的数据发送就需要MAC层的帮助了当数据进入到一个网络内此时数据包中只有目的地址的IP但传输数据需要对方发MAC地址此时我们就需要一个协议ARP协议。
ARP协议通过广播请求来获取目标设备的MAC地址
发送方广播一个ARP请求其中包含了目标IP地址。目标设备接收到请求后回应其MAC地址。发送方将目标IP地址和MAC地址对应起来存储在本地的ARP缓存表中并使用该MAC地址发送数据。
6、物理层
在上面的过程中数据包存放的都是一串二进制数据二进制数据无法进行传输所以需要将其转化为电信号才能进行传输完成此工作的是网卡。在网卡驱动程式获得网络包后会将其复制到网卡中并在其头部加上报文头和起始帧分界符在末尾加上用于检测错误的帧校验序列。
7、服务端
当数据经过层层关卡到达服务端后会从协议栈自底向上逐渐拆解相对应层的协议头最终给服务端真正的请求数据并对其进行相应然后通过自上向底对相应数据进行包装最终有传输到客户端客户端把返回回来的页面进行渲染展示给用户。