趣谈1讲|为什么学习网络协议

计算机网络,可以想象成由一些计算机构成的网络图,如果这些计算机要想互相之间通信,那么它们之间就得制定一些协议,然后根据这些协议进行通信。所以协议在计算机网络中扮演了无比重要的作用。

协议

为了更好的理解协议,下面给出协议的三要素
– 语法: 就是一段内容要符合一定的规则和格式。例如:括号要成对等
– 语义: 这一段内容要代表某种意义。例如:数字减去数字是有意义的,数字减去文本是没有意义的。
– 顺序: 就是先干啥,后干啥。

常用的网络协议

在这里就一个经典的面试题来展开。题目描述:当你在浏览器中输入www.wangxingyin.cn 后会发生什么?

第一步:首先浏览器根据 DNS协议 或者 HTTPDNS协议 得到ip地址。

DNS协议和HTTPDNS协议的介绍
– 域名系统 DNS (Domain Name System ): 作为域名和 IP 地址相互映射的一个分布式数据库,通过 DNS 可以将域名迅速解析为对应的 IP 地址,从而方便我们访问 Internet 上的任意一台主机(或网站)。参考资料:DNS & CDN & HTTPDNS 原理简析
– HttpDNS是为移动客户端量身定做的基于Http协议和域名解析的流量调度解决方案,专治LocalDNS解析异常以及流量调度不准。HttpDNS 服务详解

第二步:得到 ip 地址以后,浏览器开始打包请求。一般会有两种浏览请求
– 对于普通的浏览请求,用 HTTP 协议;
– 对于一些涉及到安全的请求,比如创建账号,购物请求之类的,使用 HTTPS 协议。
无论使用上面那种协议,里面都会写明:“你要买什么和买多少”。

小结::DNS、HTTP、HTTPS所在的层都称之为应用层。经过应用层封装后,浏览器会将应用层的包交给下一层去完成,通过 socket 编程来实现。

第三步: 应用层的下一层是传输层,传输层有两种传输协议,一种是无链接的 UDP 协议,另外一种是面向链接的 TCP 协议
TCP 协议里面会有两个端口,一个是浏览器监听的端口,一个是电商服务器监听的端口。操作系统往往通过端口来判别,他得到的包应该给那个进程。

第四步:传输层封装完毕后,浏览器会将包交给操作系统的网络层。网络层使用的是 IP 协议,在 IP 协议里面有 源 IP 地址(机器的IP地址和目标IP地址)。

第五步:操作系统现在已经知道目的IP地址在远方,但是操作系统怎么将包发送到这个目的IP地址呢?

操作系统启动的时候,就会被DHCP协议 配置IP地址以及默认的网关 IP 地址。操作系统是如何将 目的IP地址发给网关呢? 这个是通过 ARP协议完成,其中也涉及到 MAC地址。

第六步:操作系统将IP包交到了MAC层(数据链路层)。网卡再将包发出去。网关收到包之后,会根据自己的知识决定下一跳跳到哪里

第七步:到入口网关,下面给出一个流程图

总结:一个简单的请求,涉及到如此之多的协议。所以面对简单之事,需要保持一下敬畏之心。

1
说点什么

avatar
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
0 Comment authors
趣谈网络2讲 | 网络分层的含义 | 苟日新,日日新,又日新 Recent comment authors
  Subscribe  
最新 最旧 得票最多
提醒
trackback

[…] 上一篇文章 趣谈1讲|为什么学习网络协议 […]

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部