

现在只有两个版本IPv4(主流版本)IPv6(正逐步替换IPv4)

IP报头,单位为4个字节,4位 范围[0101-1111],换算为10进制,[5,15],所以报头最大为60字节,最小固定为20字节


type pf service——实际只有4位有效,这4位彼此冲突,其中一位为1,剩下三位就都为0 最小延时:可以类比TCP中的延时应答机制 最大吞吐量:最多携带多少数据量 最高可靠性:达不到TCP那么可靠,可以视情况调整,有点像MYSQL中的事务 最小成本:硬件设备开销

描述了一个IP数据报的长度(报头+载荷),这里不像TCP数据报的64KB的长度限制。 虽然IP数据报这里自身有长度限制,但是IP提供了拆包、组包这样的功能,此时载荷很大超过64KB,也没关系。
在网络层可以拆分为多个IP数据报,每个IP数据报来携带一部分载荷 如下图:如果载荷是一个特别大的TCP数据报,就把它拆分成两部分(这个过程都是IP系统内核自动完成的,程序员无法通过软件代码干预)


16位标识:哪些IP数据报的载荷应该一起组装 3位标志:只有2位有效,其中1位表示这次的IP数据报是否拆包了,还有1位表示结束标记(如果要基于UDP手动实现应用层的数据包拆包,此时可以参考IP的拆包组包做法) 13位片偏移:描述了这些包之间的先后顺序

单位:次数,非时间。一般就是32/64这样的整数 一个IP数据报每经过一个路由器的转发,就-1。次数减到0,就丢包。 避免指定的IP地址是错误的,那这个IP数据报可能会无限的传输找下去 (1)tracert命令 查看当前网络通信路径,比如我们访问美国政府官网www.usa.gov

表示在传输层使用哪个协议
针对IP报头进行校验,载荷不管(因为载荷中的TCP/UDP都自带校验和)
发件人地址,收件人地址
引入:IP地址本质是一个32位整数(int),用点分十进制表示,3个点分成4各部分,每部分取值为0~255 不同设备之间都有一个不同的IP地址——32位大概能表示42亿左右的数量,但是IP地址已经面临不够用的处境了,下面给出了几个方案
因为全世界的设备并不是同一时刻,都在上网,所以动态分配,充分利用IP地址(治标不治本)
我们把IP地址分为两大类
IP地址以这三类开头都是私网IP
10.* 172.16-172.31.* 192.168.* ,剩下的就都是公网IP了
要求公网的IP是唯一的,同一个局域网里的设备IP是唯一的,不同局域网中的设备IP可以重复 ①公网设备访问公网设备 可以 ②同一个局域网中的设备也可以互相访问 ③不同的局域网中的设备 不可以访问 ④局域网设备访问公网设备,需要进行地址转换 ⑤公网设备访问局域网设备,不允许主动访问
NAT机制也称——网络地址映射机制
依据:局域网中的设备不可以被外部访问到
引入:路由器科普,路由器一般会有两个IP地址,路由器的核心就是将这两个局域网连接起来
LAN口IP,往往是一个局域网地址
WAN口IP,可能是局域网IP,也可能是公网IP
(1)不同设备访问不同服务器

(2)不同设备访问相同服务器(不同端口)

(3)不同设备访问相同服务器(同端口)

总结

NAT映射机制本质上也是在复用IP地址,提高了IP地址的利用率,没有从根本上解决地址数量的问题,但是比动态分配地址好得多 当前互联网就是——动态分配+NAT相结合的方案
我们知道IPv4使用4个字节表示IP地址,能表示的IP地址个数在2^8^4 ,大概在42亿左右
IPv6使用16个字节表示IP地址,能表示的IP地址个数在2^8^16 ,可以给地球上每一粒沙子都分配一个地址
(1)私网IP

(2)公网IP 除了上面的地址,剩下的都是公网IP
IP地址 = 网络号 + 主机号
注:家用宽带默认前三个字节为网络号,一个字节(256)表示主机号够用了

①一个局域网中,如果网络号和主机号都相同是无法上网的 ②网络号和路由器的网络号不相同也是无法上网的 ③两个相邻的局域网,网络号不能相同

子网掩码是一个32位数字,网络部分全为1,主机部分全为0,子网掩码跟IP地址进行与运算,可以提取IP地址所属网络号

注:IP地址一般是由人为设置的,但是路由器有个DHCP功能,自动可以帮你把局域网这里设备的IP都分配好(避免IP地址冲突,概率很小),每次路由器重启,得到的IP可能是不同的

在互联网刚刚发展起来的时候,网段的划分方式是按照ABCD........类进行划分的


(1)环回IP 环回IP(loopback)127.0.0.1——表示自己的本机——多用于测试 127.*都是环回地址 (2)网段IP 一个IP的主机号全为0,表示“这个网段”——这个IP很特殊不能分配给某个主机 (3)广播地址 单播:一对一 组播:一对多(多有限制,是整体的一部分) 广播:一对多(整体的所有) IP的主机号全为1(二进制)——比如:192.168.0.255 往广播地址上发消息,局域网中所有设备都能收到
我们知道在数据报中包含了“目的IP”字段,通过多个路由器的转发可以让数据包到达“目的IP”,这个传输的过程中,路由器会帮我们规划处一条合适的路径。
在路由器内部有一个数据结构——路由表,路由器会拿着这个“目的IP”区表里匹配,在进行转发(这个过程比较复杂,感兴趣的老铁可以深入研究一下)
在数据链路层,引入了例外一套地址体系,叫做“mac地址”,它是一个物理地址,通常以十六进制表示,字节与字节之间用 - 或者 : 来分割
MAC地址和设备的网卡绑死了,网卡在出厂的时候就已经确定了,作为一个身份标识符
IP地址侧重全局转发,MAC地址侧重于局部转发——相邻设备之间的转发(一个电脑上的路由器,这俩就是相邻设备)



①类型:标识载荷数据的含义 ②数据:以太网数据帧的爱着部分,长度范围46~1500字节46是因为ARP是46字节;1500字节不到1.5kb(硬件限制:网口网线之类的,可以了解一下MTU) ③ARP:效果就是让路由器/交换机建立一个内部的结构(类似hash表)给一个IP地址能查到MAC地址(常用) ④RARP:同ARP类似,是给MAC地址能够查询到IP地址
使用IP地址来描述网络设备的位置,把域名自动转换为对应的IP地址

在之前,是引入一个hosts文件,里面的内容就是行文本,每一行都有IP和域名,每次访问某个域名就会进行查询,获取到对应的IP
C:\Windows\System32\drivers\etc


随着互联网发展,域名和服务器越来越多,此时维护hosts文件就非常麻烦了。
于是就建立了一组服务器,来提供域名解析服务,DNS域名解析服务器应运而生。
这里的DNS服务器并非只有一个,最开始的一套DNS服务器,叫“根域名服务器”(现在在美国人手里维护的有13个),各个国家根据域名服务器的内容搭建“镜像服务器”,我们上网就是在访问附近运营商搭建的“镜像服务器”,咱们国家之所以要升级“IPv6”就是要绕开DNS的制裁,希望国家越来越强大~~!!!!
感兴趣的老铁,可以看看B站上的一个介绍IPv6发展的视频,做的非常好,强推~~