udp不提供可靠性:它把应用程序传给ip层的数据发送出去,但是并不保证它们能到达目的地。
-
udp首部
udp首部.JPG
由于ip层已经把ip数据报分配给tcp或udp(根据ip首部中的协议字段值),tcp端口号与udp端口号是相互独立的
UDP长度字段指的是UDP首部和UDP数据的字节长度。
udp的校验和是可选的
2.ip分片
物理网络层一般要限制每次发送数据帧的最大长度。任何时候IP层接收到一份要发送的IP数据报时,它要判断向本地哪个接口发送数据(选路),并查询该接口获得其MTU。IP把MTU与数据报长度进行比较,如果需要则进行分片。
分片可以发生在原始发送端主机上,也可以发生在中间路由器上。把一份IP数据报分片以后,只有到达目的地才进行重新组装(这里的重新组装与其他网
络协议不同,它们要求在下一站就进行进行重新组装,而不是在最终的目的地)。重新组装由目的端的IP层来完成,其目的是使分片和重新组装过程对运输层( TCP和UDP)是透明的,除了某些可能的越级操作外。已经分片过的数据报有可能会再次进行分片(可能不止一次)。IP首部中包含的数据为分片和重新组装提供了足够的信息。
3.广播和多播
ip地址可以分为:单播地址、广播地址以及多播地址。广播和多播仅应用于udp,它们对需将报文同时传往多个接收者的应用来说十分重要。由于tcp是面向连接的协议,它意味着两主机的连接不会与其它主机共享。
考虑包含多个主机的共享信道网络如以太网。每个以太网帧包含源主机和目的主机的以太网地址(48 bit)。通常每个以太网帧仅发往单个目的主机,目的地址指明单个接收接口,因而称为单播( unicast )。在这种方式下,任意两个主机的通信不会干扰网内其他主机(可能引起争夺共享信道的情况除外)。
然而,有时一个主机要向网上的所有其他主机发送帧,这就是广播。多播
(multicast) 处于单播和广播之间:帧仅传送给属于多播组的多个主机。通常网卡仅接收那些目的地址为网卡物理地址或广播地址的帧。对于以太网,当地址中
最高字节的最低位设置为1时表示该地址是一个多播地址,用十六进制可表示为0 1 : 0 0 : 0 0 : 0 0 : 0 0 : 0 0。多播相对于广播更加的节省资源
广播
- 受限的广播
受限的广播地址是255.255.255.255。该地址用于主机配置过程中IP数据报的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的IP地址也不知道。在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。 - 指向网络的广播
指向网络的广播地址是主机号全为1的地址。A类网络广播地址为netid.255.255.255,netid为A类网络的网络号。一个路由器必须转发指向网络的广播,但它也必须有一个不进行转发的选择。 - 指向子网的广播
指向子网的广播地址为主机号为全1且有特定子网号的地址。作为子网直接广播地址的IP地址需要了解子网的掩码。例如,如果路由器收到发往128.1.2.255的数据报,当B类网络128.1的子网掩码为255.255.255.0时,该地址就是指向子网的广播地址;但如果该子网的掩码为255.255.254.0,该地址就不是指向子网的广播地址。 - 指向所有子网的广播
指向所有子网的广播也需要了解目的网络的子网掩码,以便与指向网络的广播地址区分开。指向所有子网的广播地址的子网号及主机号全为1
多播
ip多播可以向多个目的地址传送数据。例如交互式会议系统和向多个接收者分发邮件或新闻。
ip层的IGMP报文(Internet组管理协议),使得一个网络上的所有系统知道主机当前所在的多播组。
网友评论