RFC 791 (1)-导论

本文概述了IP协议在网络层中的作用,解释了其寻址和拆包功能,以及与TCP、UDP的关系。重点提到IP并不保证数据可靠性,而是将这些功能交由上层协议处理。文中还提到了Typeofservice、TTL和Options等关键控制信息。
摘要由CSDN通过智能技术生成

目录

浅论

IP是啥

IP可以管啥

操作

范例查看


提示:本系列将会开始RFC文档阅读,这里会给出我的一些笔记

浅论

我们这篇RFC文档描述的是IP和ICMP协议,我们都知道,在传统的OSI七层或者是现在被简化的五层:应用层,传输层,网络层,数据链路层以及物理层中,它属于网络层的传输。接触过计算机网络导论的同志们都知道,他是为上层的TCP,UDP提供服务的(为传输层的服务本身提供服务),而又处理下层的数据链路层前来的数据包(卸下Local本地的数据链路层的相关协议信息后,剩下的他认为这是传输数据的那部分)。

IP是啥

一个协议!我相信大家都知道这个浅显的事实,他指挥了

接收上:在网络层工作的机器如何解读下层带来的数据包,然后进一步根据里头的控制信息解读在内层的数据,好向上提交给传输层解析

发送上:接受上面的传输层已经封装好的数据构成一个数据包(Datagram),添加自己的控制信息,目标IP等,向下传递给工作数据链路层的设备

IP正是在本网络层中描绘了设备之间如何根据他给出的IP地址,也就是从源地址到目的地址中,在网络中传递数据(Transmitting Blocks of Data from sources to destination

IP可以管啥

有趣的是:正如RFC文档所描述的是,这个我相信也有不少博主强调过的:

IP不在乎,也不保证比较强的数据可靠性,数据顺序正确性和流控制,人话就是他只管送,不管对不对

那这些谁来做呢?上层做!TCP不正是提供了这些功能吗?(流控制,顺序性等),我们正好省时省力,将每个工作安排的井井有条而不重复做无用工作

操作

IP实现了两个最基本的功能:addressing(寻址)和fragmentation(拆包)。我们在网络层视图中,嗯,实际上就是这样的:

(实际细节如何?不是我们在乎的!我们只在乎到数据刷的从一台设备跑到了另一台设备),我们就这样实现了一种addressing!在浩大的网络层中找到我们的目标设备投递自己的数据包

这里的源地址和目标地址就是我们的IP包内的地址字段!具体的分析在之后的博客中详细阐述。这几台设备制定发送的数据包和解析收到的数据包就是这样由IP指挥规定的

可以在这里就阐述的是:IP它有四个独特的控制信息:

  1. Type Of service:服务种类

    代码说明
    1000 – minimize delay最小延迟 对应于对延迟敏感的应用,如telnet和人login等。
    0100 – maximize throughput最大吞吐量 对应于对吞吐量要求比较高的应用,如FTP文件应用,对文件传输吞吐量有比较高的要求。
    0000 – normal service一般服务
    0001 – minimize monetary cost最小费用
    0010 – maximize reliability最高可靠性 对网络传输可靠性要求高的应用,如使用SNMP的应用、路由协议等等。

    具体的含义等之后详解的时候我会细细说明!

  2. TTL(Time To Live)这是描述这个包还可以存在多久的!一般的,IP可能需要过路由器一次一次扔数据包,扔一次TTL字段咱就减一个1:

    // 显然不是源码,但是这是一个伪代码!
    void getAndSend(IP_Package& package){
        handlePackage(package);
        package->ttl--;
        sendTo(package->dest_addr, package);
    }
  3. Option:这里则是选项,装着时间戳,安全相关和一些特别的调度安排

  4. 头部校验和:咱们是说IP不管数据,他还是得管他自己的控制信息的,但是检查很弱,使用的是校验和检查

范例查看

随便抓点包就OK:我们这里使用的是IPv4!具体一些信息我们将会在后续详细分析!

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值