Linux网络编程—Day2

五一假期结束啦,继续回来学习啦!

今天主要学习内容是IP协议。

IP协议是TCP/IP协议族的主要动力,它为上层提供无状态,无连接,不可靠的服务。

  • 无状态是指IP通信双方不同步传输数据的状态信息,即所有IP数据报的发送、传输和接收都是相互独立,没有上下文关系的,最大的缺点是无法处理乱序和重复的IP数据报。但是其优点也很明显:简单、高效。UDP和HTTP协议都是无状态协议。
  • 无连接是指IP协议不能保证IP数据报准确的到达接收端,他只是尽最大努力交付。IP数据报发送失败的情况。1)中转路由发现IP数据报在网络中存活时间太长,丢弃,返回ICMP(超时错误)给发送端;2)接收端通过校验机制发现IP数据报不正确,丢弃,返回ICMP(IP头部参数错误)给发送端。无论何种情况,一旦检验到错误,发送端IP模块通知上层发送失败,但是不会进行重传。需要上层协议(TCP)自己实现重传机制。

IPv4头部结构:

  •  4位版本号,对IPv4来说,其值是4
  • 4位头部长度,标识该IP头部有多少个32 bit字,4位最大能表示15,所以IP头部最长是60字节
  • 8位服务类型,包括一个3位的优先权,4位的TOS字段,1位保留字段(必须置0);TOS字段分别表示:最小延时,最大吞吐量,最高可靠性和最小费用
  • 16位总长度,是指整个IP数据报的长度,以字节为单位
  • 16位标识,唯一地标识主机发送的每一个数据报
  • 3位标志字段,第一位保留,第二位(DF)表 示“禁止分片”,第三位(MF)表示“更多分片”。除了数据报的最后一个分片外,其他分片都要把它置1
  • 13位分片偏移是分片相对原始IP数据报开始处的偏移。实际的偏移值是该值左移3位(乘8)后得到的,除了最后一个IP分片外,每个IP分片的数据部分 的长度必须是8的整数倍
  • 8位生存时间,是数据报到达目的地之前允许 经过的路由器跳数。TTL值被发送端设置(常见的值是64)
  • 8位协议,用来区分上层协议,ICMP是1,TCP是6,UDP是17
  • 16位头部校验和,用CRC算法以检验IP数据报头部
  • 32位的源端IP地址和目的端IP地址用来标识数据报的发送端和接收端
  • IPv4最后一个选项字段是可变长的可选信息。这部分最多包含40字节,因为IP头部最长是60字节,IP选项包括:记录路由、时间戳、松散源路由选择、严格源路由选择

路由机制

        使用route或netstat命令查看路由表:

  •  Destination:目标网络或主机,default即所谓的默认路由项,通常意味着数据的下一跳路由是网关
  • Gateway:网关地址
  • Genmask:网路掩码
  • Flags:UG,U:该路由项是活动的;G:该路由项的目标是网关
  • Metric:路由距离,即到达指定网络所需的中转数
  • Ref:路由项被引用的次数
  • Use:该路由项被使用的次数
  • Iface:该路由项对应的输出网卡接口

重定向

        ICMP重定向报文

ICMP重定向报文的数据部分含义明确,它给接收提供了如下的两个信息:1)引起重定向报文的IP数据报的源端IP地址;2)应该使用的路由器的IP地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值