接口与协议学习笔记-Ethernet UDP通信协议(一) mac地址、IP地址和端口号

      UDP协议     UDP 是 User Datagram Protocol(用户数据报协议)的英文缩写。 UDP 只提供一种基 本的、低延迟的被称为数据报的通讯。所谓数据报,就是一种自带寻址信息,从发送端走到接 收端的数据包。 UDP 协议经常用于图像传输、网络监控数据交换等数据传输速度要求比较高 的场合。

UDP数据报可分为首部和数据共两个部分。首部或者称为报头由四个域组成,每个域占用2个字节,报头共占用8个字节。

  1. UDP源端口号。为不同的应用保留其各自的数据传输通道,数据发送一方将UDP数据报通过源端口发送出去。
  2. UDP目的地端口,数据接收一方通过目标端口接收数据。
  3. 数据报的长度包括报头和数据部分在内的总字节数。用户数据报长度所占域的比特为16位,所以包含报头在内的数据报的最大长度为 65535 字节。不过,一 些实际应用往往会限制数据报的大小,有时会降低到 8192 字节。
  4. 校验值用来保证数据的安全。占两个字节,共16位。在数据发送方通过特殊的算法计算得出,传递到接收方之后还需要重新计算。传输过程中受到损坏,数值不会相符。检测到错误时,只是将损坏的消息段扔掉,或者给应用提供警告信息。

UDP一般分为三个部分,UDP发送模块,UDP接收模块和CRC校验模块。

MAC地址  IP地址  端口号

   

在网络中,按照用途可把网络地址分为如下四类:

①    物理地址:即MAC地址,如00-aa-00-62-c9-09。在数据链路层包裹在以太网头部,用来识别同一个链路中的不同计算机。

②    逻辑地址:即IP地址,如127.0.0.1。在网络层的IP头部里,用于识别网络中互联的主机和路由器,其实主要是确认子网,通过子网掩码确认某个IP地址所在的子网,而后再在子网内部确认mac地址就能找到准确的用户了。

③    端口地址:应用进程端口号。在传输层包含在TCP/UDP头部中的,用于识别应用程序。

④    域名地址:万维网地址,取代IP地址方便记忆,如www.google.com。

     

                       主机A向主机B利用发送了一条消息,则在TCP head里包含了发送消息的应用的端口号以及接收方应用的端口号,传递给它的下一层,网络层会将TCP数据包封装起来再加自己的头部,IP头部里包含本地IP以及接收方IP等信息传递给数据链路层。数据链路层会再给加一个以太网头部,这里包含双方的mac地址。

                     以太网数据包会在其子网内部广播,如果接收方在其子网内,则在比对mac地址后直接接收数据。如果不在同一个子网内,以太网协议就不能实现数据传输了,而且因为以太网协议采取广播的方式发送消息,就算没有局限在子网内,如果给非常庞大的主机群广播消息是非常可怕的。这个时候就需要IP地址了,IP地址主要是用来区分哪些mac地址在同一个子网。找到目的主机所在子网之后再根据mac地址确认主机,IP层从IP首部确定数据包所用的协议之后将数据包交给对应的协议,再由协议来确认程序的端口号,从而实现了消息的传递

                   参见:mac地址、IP地址和端口号          https://www.cnblogs.com/Chilly2015/p/5720670.html                                                                        https://blog.csdn.net/guoping16/article/details/6584363

IP数据报数据格式

  1. 1-4字节   版本IPV4,首部长度占 4 位,可表示的最大数值是 15 个单位(一个单位为 4 字节)因此 IP 的首部长度的最大值 是 60 字节。区分服务一般不使用。总长度占16位,因此数据报的最大长度为65535字节。
  2. 5-8字节   标识占16位,用来产生数据包的标识,标志(flag): 占 3 位,目前只有前两位有意义 MF 标志字段的最低位是 MF (More Fragment) MF=1 表示后面“ 还有分片” 。 MF=0 表示最后一个分片 DF 标志字段中间的一位是 DF (Don't Fragment) 只有当 DF=0 时才允许分片。片偏移: 占 12 位,指较长的分组在分片后某片在原分组中的相对位置.片偏移以 8 个字节为偏移单 位
  3. 9-12字节   生存时间占8位,记为 TTL (Time To Live) 数据报在网络中可通过的路由器数的最大值,TTL 字段 是由发送端初始设置一个 8 bit 字段.推荐的初始值由分配数字 RFC 指定,当前值为 64.发送 ICMP 回显应答时经常把 TTL 设为最大值 255。协议占8位,1 表示为 ICMP 协议, 2 表示为 IGMP 协议, 6 表示为 TCP 协议, 17 表示为 UDP 协议。首部检验和: 占 16 位,只检验数据报的首部不检验数据部分.这里不采用 CRC 检验码而采用简单的计 算方法。
  4. 13-16字节    记录源地址
  5. 17-20字节    记录目的地址

               

      

猜你喜欢

转载自www.cnblogs.com/uiojhi/p/9342012.html