对于网络协议协议的了解及理解

对于网络协议的一些了解及理解

网络文件传输是通过一系列协议(protocol)来实现的,大体上可分为应用层、传输层、网络层、链路层和物理层这五层。而对于我们前端学习,涉及到的大概就是应用层和传输层这两层。TCP/IP协议属于传输层协议,而我们平时经常听到的HTTP协议,则属于应用层协议。下面是涉及到的一些专业术语以及博主这些天学习的个人理解。

什么是 IP地址?

直观上,IP 地址是一串 32 位二进制数字,这一串数字被分成 4 组,每 8 位为一组,组与组之间用点号隔开,但是为了方便阅读,通常会将每组的数字分别转换为十进制来显示,比如表示本机的127.0.0.1

TCP/IP 协议网络上的每一个网络适配器都有一个唯一的 IP 地址.

IP 地址分为两个部分:

网络 ID
主机 ID

按网络ID与主机ID占的比重,可以把大部分 IP 地址分为以下几类

A 类地址:IP 地址的前 8 位代表网络 ID ,后 24 位代表主机 ID。
B 类地址:IP 地址的前 16 位代表网络 ID ,后 16 位代表主机 ID。
C 类地址:IP 地址的前 24 位代表网络 ID ,后 8 位代表主机 ID。

之所以IP地址会有分类,是因为有些网络需要很多主机,代表主机 ID 的部分就会多一些,反之主机 ID 部分就会少一些。

域名

平时我们往浏览器网址框里输入的网址(如www.baidu.com)就属于域名,通过域名就能访问到我们所要浏览的网站。通常一个域名对应一个IP地址(但一个IP地址不一定对应一个域名,一个主机管理多个网站的时候),如果要详细到访问网站的某个网页,那么还得再域名后面加上网页的相对路径。所以当我们一个网站的时候,既可以使用域名去访问,也可以使用IP地址去访问。

DNS服务器(域名服务器)

DNS服务器由网络运营商负责维护,是一台把域名转换成相对应的IP地址的服务器。DNS中保存了一张域名和与之相对应的IP地址的表,以解析消息的域名。当客户端想要通过域名访问一个网站时,DNS会把这个域名“翻译”成IP地址再传输给Web服务器。当然如果客户端通过IP地址访问一个网站时,那么就省去了DNS服务器“翻译”的这个步骤。

TCP协议

当客户端想要去访问一个网站时,首先得和目标服务器建立联系,然后才能向服务器请求一个网页页面。而这个过程就是通过TCP协议来完成的,客户端和服务器需要通过“三次握手”才算成功连接。

TCP的三次握手

  1. 客户端首先给目标服务器发送一个数据包,里面包含了一个随机数(假设seq=1),相当于告诉服务器:“嘿哥们,我需要和你建立联系!”
  2. 服务器收到后,把seq加一(ack=seq+1=2),除此之外,服务器也从生成一个随机数(假设seq=1),然后把ACK和SYN发给客户端(相当于告诉服务器:“好的,我收到你的消息了,我准备好啦!”)
  3. 客户端收到服务器的数据包后,检验ack(也就是上回自己发出去的seq)是不是比原来+1,如果是说明服务器给我回应了,说明我们之间的通信没问题,接着客户端就把服务器发来的seq+1以及客户所要浏览的网页请求发给服务器。服务器收到后同样检查ack(上回自己发出去的seq)是不是+1了,如果是那么同意建立连接。至此,三次握手完成(这是我的理解,如有错误感谢指正)
  4. 建立连接之后,服务器就把客户端请求的网页发送给客户端。
    在这里插入图片描述以上图片出处 https://baijiahao.baidu.com/s?id=1593714120815701015&wfr=spider&for=pc

HTTP协议

HTTP,即超文本传输协议,当客户端(即浏览器)连到服务器上并通过HTTP协议的格式来请求文件时,服务器处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器怎么解析这个文件,然而这个过程就是通过HTTP协议来实现的,即客户端通过HTTP协议的格式对服务器请求文件,服务器对请求文件的打包过程和客户端的对文件的解包过程,都是通过HTTP协议来完成的。在这里插入图片描述以上图片出处 https://blog.csdn.net/qq_36359022/article/details/81666221

文章所引用过的资料:
https://blog.csdn.net/patrick_star_cowboy/article/details/82016692
https://blog.csdn.net/qq_36359022/article/details/81666221
百度百科

发布了20 篇原创文章 · 获赞 6 · 访问量 4045

猜你喜欢

转载自blog.csdn.net/CanMoHaiYan/article/details/90383262