IP协议详解

15 篇文章 1 订阅 ¥9.90 ¥99.00
本文深入探讨了IP协议,特别是在实时音视频传输中为何选择UDP而非TCP。分析了TCP和UDP的优势与劣势,并详细解析了IP协议头的各个字段,包括Version、IHL、Type of Service、Total Length等,帮助读者建立对网络协议基础的理解。
摘要由CSDN通过智能技术生成

IP协议详解

  • 我们开始学习网络协议,我们要做实时音视频传输。最关键的就是网络传输,要学好网络传输,我们就要对整个网络协议有一个清晰的认知,在这个网络协议中,我们做实时音视频最主要的就是使用UDP。

为什么要使用UDP?

  • TCP的优势与劣势
  • UDP的优势与劣势
  • 知道以上2点后,我们就能知道我们为什么要使用UDP

IP协议头

  • 无论是TCP、UDP、ICMP都是在IP协议头之后的数据部分。IP层在往下就是物理层
  • IP层分为IP头和数据部分。数据里就包括ICMP、TCP、UDP。所以我们先学习IP头都包括那些字段以及含义,这样才能有基础学习后面的知识。

在这里插入图片描述

  • Version(4位) IP协议的版本。对于IPv4来说值是4

  • IHL(4位) IP头部长度。4位最大为0xF,注意该字段表示单位是字(4字节)

  • Type of Service(8位) 服务类型 3位优先权字段(现已被忽略) + 4位TOS字段 + 1位保留字段(须为0)。4位TOS字段分别表示最小延时、最大吞吐量、最高可靠性、最小费用,其中最多有一个能置为1。应用程序根据实际需要来设置TOS值,如ssh和telnet这样的登录程序需要的是最小延时的服务。

  • Total Length (16位)总长度 ,总长度-IHL=数据部分的长度

  • 下来的3个字段则描述如何实现拆包:

  • Identification (16位)标识 唯一地标识主机发送的每一个数据报,其初始值是随机的,每发送一个数据报其值就加1。同一个数据报的所有分片都具有相同的标识值。根据这个标示就可以知道哪几个包是一起的进行组装

  • Flags (3位)标志 1保留,位2表禁止分片(DF),若设置了此位,IP模块将不对数据报进行分片,在此情况下若IP数据报超过MTU,IP模块将丢弃数据报并返回一个ICMP差错报文里面就有最大传输单元,这也就是如何探测最大传输单元;位3标识更多分片(MF),除了数据报的最后一个分片,其他分片都要把它设置为1。

  • Fragment Offset (13位)位偏移 分片相对原始IP数据报数据部分的偏移。实际的偏移值为该值左移3位后得到的,所以除了最后一个IP数据报分片外,每个IP分片的数据部分的长度都必须是8的整数倍

  • Time to Lice 生存时间 数据报到达目的地之前允许经过的路由器跳数。TTL值被发送端设置,常设置为64。数据报在转发过程中每经过一个路由该值就被路由器减1.当TTL值为0时,路由器就将该数据包丢弃,我们在做nat穿越的时候可以指定跳数比如跳5次,来进行nat检测。

  • Protocol 协议 区分IP协议上的上层协议。ICMP为1,TCP为6,UDP为17

  • Header Checksum 头部校验和 由发送端填充接收端对其使用CRC算法校验,检查IP数据报头部在传输过程中是否损坏

  • Source Address 源IP地址

  • Destination Address 目的IP地址 表示数据报的发送端和接收端。一般情况下这两个地址在整个数据报传递过程中保持不变,不论中间经过多少个路由器

  • Options 选项

  • Padding 32位的字节对齐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杜甲同学

感谢打赏,我会继续努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值