web开发人员必须知道的网络基础知识有哪些

这篇文章主要介绍“web开发人员必须知道的网络基础知识有哪些”,在日常操作中,相信很多人在web开发人员必须知道的网络基础知识有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web开发人员必须知道的网络基础知识有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联专注于企业营销型网站建设、网站重做改版、丰顺网站定制设计、自适应品牌网站建设、成都h5网站建设商城系统网站开发、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为丰顺等各大城市提供网站开发制作服务。

 一、五层网络模型

1. 主要的网络协议

以下每层列出的协议,都能够在代码或者操作系统中使用和管理,当程序进行网络通信时,需要由这些协议共同协作完成。

应用层,包括HTTP、TLS(SSL3.1)、DNS、Thrift、FTP等

传输层,TCP(传输控制协议)、UDP(用户报文协议)

网络层,IP(网际协议)

链路层,ARP(地址解析协议)

物理层,该层与硬件关系更为紧密,无需太过关注

web开发人员必须知道的网络基础知识有哪些

程序运行过程图解

2. 网络通信的过程

网络通信的过程

在程序中发送HTTPS请求时,数据经过各层的处理,最终到达目标地址。对各层处理的主要部分进行了描述,其中第1、2、3步在程序中进行,第4、5、6步在操作系统内核中进行,第7步由硬件设备完成,下面对每一步进行详细描述:

DNS解析将域名转换为IPv4或IPv6地址,它依托于UDP协议向DNS服务器发送查询请求并获取响应信息。

HTTP报文由程序中的httpclient工具生成,包含用户设置的HTTP相关参数(URL、header、body等)。

TLS协议通过四次握手机制协商出公钥/私钥,客户端生成“会话密钥”由公钥加密发送到服务端,服务端通过私钥解密获取,最终使用该“会话密钥”对HTTP报文进行加密。

TCP连接通过三次握手机制建立,HTTP报文以字节流形式写入,发送的数据都需要经过“发送-确认”的过程,以保证其完整送达到指定IP地址。

IP数据包将字节流按MTU大小进行拆分,局域网内通常为1500字节,互联网通常为512字节。IP数据包的头信息上记录了发送者IP和接收者IP。

MAC帧在发送时,实际无法直接发送到指定的IP地址,需要内核根据路由表中记录的信息(本地路由表查看命令route  -n),通过“IP地址与子网掩码”进行“与运算”得到下一跳的网关IP。然后,链路层通过ARP协议获取网关IP的MAC地址(本地ARP缓存表查看命令arp  -a),将发送者MAC地址和网关MAC地址封装到MAC帧中。

二、关键的外部服务

上一节描述的网络通信过程,需要多种外部服务的参与才能完成,包括DNS服务、CA服务、路由器、ISP服务。

1. DNS服务

DNS服务器由DNS服务提供商进行管理,提供根据域名查询IP地址的服务,常见的DNS服务提供商有中国电信(114.114.114.114)和谷歌(8.8.8.8),Linux系统中在文件/etc/resolv.conf中和目录/etcc/sysconfig/network-scripts/下使用cat命令查看配置的DNS服务器IP地址。

2. CA颁发与验证服务

CA服务器提供了TLS协议中需要的证书颁发服务,在TLS进行四次握手时通过CA服务验证服务器提供的证书是否可信。浏览器内置了多种CA服务器的地址,并且也可以在本地配置证书进行验证(如:12306.cn需要在浏览器安装私有证书)。

3. 路由器

路由器是个人电脑发送IP数据包到互联网的第一道网关,路由器内置了相关ISP服务器的信息。

4. ISP服务器

ISP(Internet Service  Provider)互联网服务提供商(如:中国电信、中国联通)是网络服务的关键角色,ISP服务器的作用与路由器相同,它们记录了庞大的路由表提供给数据链路层进行查询。当我们想要将自己的服务器接入到互联网中,需要付费给ISP进行注册,本质就是在ISP服务添加了自己服务器的路由信息(实际还涉及到光纤建设等物理层实施,这里不做描述)。

到此,关于“web开发人员必须知道的网络基础知识有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


分享标题:web开发人员必须知道的网络基础知识有哪些
URL地址:http://scyanting.com/article/gcdghs.html