正如我所说的,互联网(第3部分)

下一层是网络层。 对于Internet,Internet协议(IP)层占主导地位。 这是IP地址起作用的地方。 这也是路由器所在的地方。 如上所述,互联网是许多较小网络的巨大网络。 因此,需要路由才能将我的数据包从我的LAN传送到世界另一端的其他人的LAN。 路由主要有两种策略: 静态和动态。 台式计算机通常使用静态路由,将其流量发送到其默认网关路由器,稍后我们将进行讨论。 动态路由是真正的魔力所在。 动态路由主要分为两类: 距离矢量路由和链接状态路由。

距离矢量路由是每个路由器维护一个表的地方,该表包括到其他路由器的距离度量。 这可能是“跳”到其他路由器的形式。 路由器会定期与相邻路由器交换其表,并根据从其邻居收到的信息来更新自己的表。 但是,这是不可扩展的,表将变得庞大,路由器将花费所有的时间来更新该表。 这些表也需要时间收敛。

备用链路状态是每个路由器维护网络局部映射的位置。 该映射包括更多指标,例如每个节点的延迟,带宽和跃点。 由于映射是局部的,因此它比距离矢量路由消耗的带宽少。 路由器非常了解其直接网络,但是对大型网络的了解却很少。 但是,它更加复杂且计算量大。 今天,实践中使用了两种称为中间系统的变体-中间系统(IS-IS)和开放式最短路径优先。

为了避免路由器之间的消息循环,引入了一个实用的限时计数器,称为生存时间(TTL)。 在每个路由器跃点,数据包的TTL计数器都会减少。 路由器在收到数据包后会检查TTL,如果该值等于零,则路由器会丢弃该消息。 这大大有助于解决网络上的拥塞问题。

该TTL计数器是Internet协议数据包的一部分。 该数据包中还有其他几个字段,如下所示。 “版本”是IP版本号,通常为4或6。引入了6。这是因为意识到版本6提供的32位体系结构没有提供足够的地址。 版本6是128位,可提供大量地址,但尚未被广泛使用,互联网流量不到10%。 IPv6数据包的结构完全不同,这里不再讨论。

IPv4数据包内容

另一层?

还在我这儿? 很棒,因为还有另一层。 这个负责处理诸如与特定服务器上的正确服务进行通信,在流量控制方面两者之间的数据如何流动之类的事情-一方可能不再能够接收数据,因为其缓冲区可能已满,如何处理?告诉乙方? 如何指示何时准备再次采集数据? 如果途中丢包怎么办? 介绍UDP和TCP的传输层。

服务托管在主机操作系统将其绑定到的端口上。 这被指定为16位数字,该数字提供了介于0到65,535之间的十进制数字范围。 常用端口是HTTP的80,FTP的21,SMTP的443,SMTP的110,POP3的110,SSH的22等,尽管没有什么可以阻止您将HTTP服务器托管在您选择的端口上,因为正在连接的用户都知道这一点。 Web浏览器默认为您尝试连接的网站的端口80。 每个进程或标签(在Google chrome中)将打开一个编号更大的端口,以供与该Web服务器进行通信。

UDP是一种基于数据报概念的相对简单的协议。 它有五个领域。 目的地,来源,长度,校验和和数据。 由于消息太短,因此消息打包速度很快,因此开销最小,因此适合于高速通信。 但是,由于互联网是无连接结构,因此不同的数据包会根据条件采用不同的路由,因此这些数据包可能会乱序到达或更糟,甚至根本不会到达。 UDP的校验和还会在IP伪头上执行校验和,这会违背OSI模型层,但是您能做的就是该模型就是一个模型,并非所有模型都完全适合它。

该系列的下一部分将介绍TCP! 敬请关注!