• 网络层协议


    基本概念了解 

    1)4位版本号,用来表示IP协议的版本. 现有的 IP 协议只有两个版本,IPv4, IPv6
    2)4位首部长度.设定和 tcp一样.
    IP 报头可变长的.
    IP报头又是带有选项的.
    3)8位服务类型.(真正只有4位才有效果)
    类似于 模式/形态 切换?
    其他版本可能只是在实验室中存在,并没有真正大规模商用

    四种形态是互斥的,只能切换到一种形态.
    4)16位总长度
    IP报头+载荷的长度.
    总长度﹣IP 报头长度=>载荷长度=>TCP 报文总长度
    TCP 报文总长度﹣TCP报头长度=>TCP载荷长度

    这里的16位总长度,确实也涉及到64KB的问题.
    但是IP协议,自身支持"拆包组包"机制
    这里的64KB只是约束了一个IP 数据报.
    如果需要携带比较长的数据的时候,IP 协议会自动的把一个数据报拆成多个数据报。
    接收方在进行分用的时候,也会把多个数据报合并成一个数据报
    5)16位标识
    3 位标志位
    13 位片偏移

    描述了 整个 IP 数据报拆包组包的过程
    当 IP 数据报需要携带比较长的数据的时候就在 IP 协议这一层触发 拆包操作
    把一个大包拆成多个小包
    多个小的 IP数据报都会带有IP报头,载荷是TCP数据报的几个部分~~16位标识:拆出的这多个包,16位标识是相同的
    13 位片偏移:不同的,前一个包片偏移更小,后一个更大.
    通过片偏移,就可以区分包的先后顺序,
    3 位标志位:其中有一位是不用的.
    还有一位,表示是否允许拆包.在这里已经拆了.这一位都是1
    下一位,表示"结束标记"标识当前的包是否是最后一个.
    这一位为0,表示这是最后一个包了.

    6) 8 位生存时间TTL,单位是次,初始情况下TTL会有个数值(32/64/128)。每次经过一个路由器转发,TTL就会﹣1。减到0了就会被丢弃了.
    7)8位协议
    描述了上层,传输层,使用哪种协议.
    8)16位首部校验和
    校验数据是否正确的机制.只需要校验首部即可.
    载荷部分,要么是TCP要么是UDP,人家自己已经校验过自己了. 

    9) 32 位源地址
    32 位目的地址

    IP 协议中最最重要的部分.32位源地址表示的范围只有42亿9千万,

     所以ipv4的ip地址不够用咋办?

    1.动态分配ip

    一个设备不会一直需要上网,需要上网的时候就分配ip,不需要就先不分配

    这个方法就只能缓解不能解决!

    2.NAT机制(网络地址转换)

    局域网之间以及与外网的通信

    (1)局域网之间的设备进行通信是ok的(局域网内部内网ip都是唯一的)。

    (2)A局域网中的设备想和B局域网中的设备进行通信?(当前可能这俩设备之间的IP是相同的)

    当前的规则禁止这种情况!要想通信就得有一个带有外网IP的设备进行中转

    (3)局域网内部的设备访问带有外网ip的设备

    这个就是通过nat设备(路由器)利用映射表的记忆进行ip替换的过程。

    nat的缺点

    nat是一个纯软件,缺点也很明显1效率不高;2.繁琐;3.不方便访问局域网内部的设备...

    这提高了IP地址的利用率,但并没有从根本上解决ip不够用的问题。

    3.IPv6介绍

    ipv6和nat诞生时间差不多,nat诞生成功,ipv6举步艰难?

    但它的大力研发仍是有必要的

    ip地址的组成

    组成
    IP 地址分为两个部分,网络号和主机号
    网络号 标识网段 ,保证相互连接的两个网段具有不同的标识;
    主机号 标识主机 ,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号;

     

    子网掩码

    认识mac地址

    IP地址负责网络层转发,

    mac地址负责数据链路层转发(用于标识网络设备的硬件物理地址。

    它俩被各自独立地设计出来了 。

    网络层负责的是整体地转发过程,数据链路层负责的是局部(相邻设备)之间。

    mac(6个字节)ip(4个字节)是不同的,一个主机既有ip又有mac.

    mac是六个字节(比nat多很多)——>2^48。

    MAC地址(网卡的硬件地址):当前mac都是网卡出厂就被设置好了,每个设备的网卡都有独立的mac地址——>因此mac地址就变成标志身份的一种方式 

     DNS

    平时所见的www.sougo.com等,机器在识别的时候会它转化位ip地址,但是很多主机同时上网,DNS如何解决高的并发量?

    开源节流

    十几年前,可以出现QQ可以登上去但是浏览器网页打不开的情况,这就和DNS有关了,这个也可以手动设置

  • 相关阅读:
    String、StringBuffer 、StringBuilder、StringJoiner
    【C++】开源:跨平台轻量日志库easyloggingpp
    vscode远程连接XHR(wget download failed)解决方法
    多肽KC2S修饰白蛋白纳米粒/靶向肽GX1修饰人血清白蛋白纳米粒探针的研究制备
    【电源专题】LDO如何防止出现反向电流
    C++文件 I/O操作
    【python游戏制作】大富翁游戏源码
    数据库 varchar 类型应该设计多长?
    设计模式—简单工厂
    【今日文章】:1.关于 $attr $lisenner $slot 用法的思考 2. 关于父子组件传值的思考 3.关于前端日志系统搭建的思考
  • 原文地址:https://blog.csdn.net/m0_74106420/article/details/133063898