您的当前位置:首页Socket详解(二)

Socket详解(二)

2024-12-14 来源:哗拓教育

何为网络层?(互联网层)


网络层实现数据包的选路和转发,网络层位于传输层的下一层,传输层的数据会交由网络层来处理,网络层会对数据进一步进行处理。会在传输层数据包的外层再套一层,加入源IP与目标IP。结构大概如下:

{IP包{TCP或UDP包{Data}}}

上文已经讲到传输层有TCP/UDP两大协议,而在网络层中主要有IP,ICMP,RIP,OSPF,BGP,IGMP等协议,本文中主要讲解IP协议。

网络层-IP协议


IP包的数据长度为64kb(65535)这是因为一个IP包头用2个字节来表示报文长度,而2个字节能表示的最大长度为1111 1111 1111 1111 = 0XFF = 65535

IP协议本身是为上层协议提供分割与重组报文功能的。因此在传输过程中,原则上讲我们没有必要去关心一个包的大小。但是实际上因为分割的IP包要使用标识字段来进行区分,而IP包的标识字段不可能无限长。

在我们的数据传输过程中,为了加快传输速度和浪费不必要的流量。我们可以在开发过程中将报文信息控制在一个包内。使用64KB-IP包头长度-TCP/UDP包头长度,便是我们一个包最大可传输的报文长度。根据业务场景我们可以假设将这个报文长度控制在40KB。这样即可以准确的将一个信令控制在一个包内,又可以方便后期的一个报文扩展。(具体是否需要控制要看实际业务场景)

显示全文