网络层协议

基本概念了解 

网络层协议_第1张图片

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

四种形态是互斥的,只能切换到一种形态.
4)16位总长度
IP报头+载荷的长度.
总长度﹣IP 报头长度=>载荷长度=>TCP 报文总长度
TCP 报文总长度﹣TCP报头长度=>TCP载荷长度
网络层协议_第2张图片
这里的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 协议中最最重要的部分.网络层协议_第3张图片32位源地址表示的范围只有42亿9千万,

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

1.动态分配ip

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

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

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

网络层协议_第4张图片

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

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

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

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

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

网络层协议_第5张图片

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

nat的缺点

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

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

3.IPv6介绍

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

网络层协议_第6张图片

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

ip地址的组成

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

 网络层协议_第7张图片

子网掩码

网络层协议_第8张图片

认识mac地址

IP地址负责网络层转发,

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

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

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

mac(6个字节)ip(4个字节)是不同的,一个主机既有ip又有mac.网络层协议_第9张图片

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

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

 DNS

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

开源节流

网络层协议_第12张图片

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

你可能感兴趣的:(JavaEE,Java,网络,服务器,运维)