计网知识的总结

首先我们在浏览器的地址栏输入网站域名,比如 www.baidu.com ,并键入回车。

浏览器需要把域名解析为 IP 地址,它会调用解析程序(resolver),并成为 DNS 的一个客户,把待解析的域名放在 DNS 请求报文中,以 UDP 用户数据报方式发给本地域名服务器(使用 UDP 是为了减少开销)。

主机向本地域名服务器的查询一般都采用递归查询(recursive query)。即如果本地域名服务器不知道待查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文(替该主机继续查询),递归返回查询结果。

本地域名服务器向根域名服务器的查询通常采用迭代查询(iterative query)。即当根域名服务器收到本地域名服务器发来的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么将自己知道的顶级域名服务器的 IP 地址告诉本地域名服务器,让它再向顶级域名服务器查询;顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的 IP 地址,要么告诉本地域名服务器下一步应当向哪一个权限域名服务器进行查询,本地域名服务器就这样进行迭代查询。最后,知道了所要解析的域名的 IP 地址,然后把这个结果返回给发起查询的主机。当然,本地域名服务器也可以采用递归查询,这取决于最初的查询请求报文设置要求使用哪一种查询方式。

其中,根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。根域名服务器是最重要的域名服务器,因为不管是哪一个本地域名服务器,要对互联网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。且根域名服务器采取任播(anycast)技术,即一组不同地点但使用相同的 IP 地址的主机,当 DNS 客户向某个根域名服务器的 IP 地址发出查询报文时,互联网上的路由器就能找到离这个 DNS 客户最近的一个根域名服务器。这样不仅加快了 DNS 的查询过程,也更合理地利用了互联网的资源。负责范围:根域名服务器 > 顶级域名服务器 > 权限域名服务器 > 本地域名服务器。

HTTP 协议定义了浏览器与万维网服务器怎样可靠地交换文件,包括文本、超文本、声音、图像等各种多媒体文件。当主机得到目标网站服务器的 IP 地址后,就要建立连接了,HTTP 协议使用面向连接的 TCP 作为运输层协议,连接的过程采用了三报文握手,分别是连接请求报文、应答报文和确认报文,而且万维网客户会将 HTTP 请求报文,作为第三次报文握手的数据,发送给万维网服务器,服务器收到 HTTP 请求报文后,就把所请求的文档作为响应报文返回给客户。

TCP 连接的端点是套接字 socket = ( IP 地址:端口号 ) ,满足不同主机不同应用进程间的数据传输。

TCP 发送的报文段是交给 IP层传送的,但 IP 层只能提供尽最大努力交付服务,也就是说 TCP 下面的网络层所提供的是不可靠的传输,因此 TCP 必须采取适当的措施才能使得两个运输层之间的通信变得可靠。如超时重传、滑动窗口协议。且 TCP 协议还会实现流量控制(全局性的过程)和拥塞控制(四种算法:慢开始、拥塞避免、快重传和快恢复)。

到了网络层,所有连接到互联网的主机(或路由器)的接口都会被分配到一个 IP 地址,这个 IP 地址不仅标志了这个主机(或路由器),而且还标志了此接口所连接的网络。在互联网发展早期采用的是分类的 IP 地址,其中 A、B、C 类地址都是单播地址(一对一通信),D 类是多播地址(一对多通信,使用网际组管理协议 IGMP 多播路由选择协议),而 E 类是保留地址。

全 0 的主机号表示该 IP 地址是本主机所连接到的单个网络地址;全 1 的主机号表示该网络上的所有主机。全 0 和全 1 的主机号都不能指派。IP 地址使用点分十进制记法

互联网在 20 世纪 90 年代突然迅速发展起来后,人们才意识到原来分类的 IP 地址在设计上确实有很多不合理的地方,后来即使采用了划分子网的方法,也无法解决 IP 地址枯竭的问题。于是,一种新的无分类编址 CIDR 方法就问世了,即现在已普遍采用的编址方法,这种方法虽然也无法解决 IP 地址枯竭的问题,但可以延迟 IP 地址用尽的日子。

CIDR 使用斜线记法,即在 IP 地址后面加上“/”和网络前缀所占的位数。因为常用的 CIDR 地址块都包含了多个 C 类地址(是一个 C 类地址的 2^n 倍,n 是整数),有时也称 CIDR 编址为“构造超网”。

每一个 IP 地址都由网络前缀和主机号两部分组成,一方面,IP 地址管理结构在分配 IP 地址时只需要分配网络前缀,而剩下的主机号则由得到该网络前缀的单位自行分配;另一方面,路由器可根据目的主机连接到网络前缀来转发分组,这样就使得转发表的项目数大幅度减少,从而减少转发表所占的存储空间,缩短查找转发表的时间

  • 同一个局域网上的主机或路由器的 IP 地址中的网络前缀必须是同样的。
  • 路由器每个接口的 IP 地址的网络前缀都不同。
  • 两个路由器直接相连的接口处,可指明也可不指明 IP 地址。如指明 IP 地址,则这一段连线就构成了一种只包含一段线路的特殊“网络”。这种网络仅需两个 IP 地址,因此这里就使用了 /31 地址块,主机号可以是 0 或 1 。

其中讨论 IP 地址与 MAC 地址的区别,我将我作业中的回答粘贴在此:

MAC地址和IP地址都是为了给主机一个唯一的标识符,用以在网络中的两台主机之间进行通信。MAC地址是Ethernet协议使用的地址,IP地址是Internet协议使用的地址,Ethernet协议是局域网的一种协议,Internet协议是广域网的一种协议。MAC地址是由硬件生产商提供的编号,在主机出产时就是唯一标识的,IP地址是根据网络拓扑结构为主机分配到的地址,是可变但同样唯一的。MAC地址应用于数据链路层,IP地址应用于网络层,局域网只涉及物理层和数据链路层,路由器将局域网连接起来组成了互联网,一台主机的IP地址由路由器分配,当主机连接不同的网络时IP地址就会发生改变,于是固定的MAC地址才更有主机间数据交换的价值,但直接使用MAC地址需要有一张无比庞大的映射表来指明每一台主机所在的子网是哪一个(每一台交换机都要保存这样一张映射表),不然就得不断广播满世界找,这是不现实的,而IP地址则能直接通过网络号来到达不同的网络,再通过ARP协议找到目的主机的MAC地址,实现互联网中唯一的两台主机之间的通信。

可以发现,在此过程中IP地址和MAC地址都是必要的,两者都不能单独来实现互联网中唯一的两台主机之间的通信,IP地址能让我们找到目的主机所在的子网,MAC地址能让我们在子网中找到唯一的那台目的主机,实现信息交换。

因此,我们知道了一台主机的 IP 地址,还需要找到其相应的 MAC 地址地址解析协议 ARP 就是用来解决这样的问题的。

 

#转发表转发分组#

 

 

#自治系统#

 

 

#内部网关协议IGP(RIP、OSPF)#

 

 

#外部网关协议EGP(BGP-4)#

 

 

#虚拟专用网VPN#

 

posted @   HanselHuang  阅读(361)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示