网络层IP协议

目录

IP协议报头结构:​编辑

解决IP不够用的问题

IP地址组成结构,

子码掩网方案:左边都是1,右边都是0

以太网

mac地址 与 IP地址的区别

DNS应用层协议


地址管理:IP地址

路由选择:数据传输的路径规划

IP协议报头结构:

1.4位版本:实际上只有两个取值:IPv4(主流),IPv6

2.4位首部长度:0->15,实际报头长度*4,  长度15,报头就是60

3.8位服务类型(TOS):

4.3位优先权字段(已经弃⽤), 4位TOS字段, 和1位保留字段(必须置为0). 4位TOS分别表⽰: 最⼩延时, 最⼤吞吐量, 最⾼可靠性, 最⼩成本. 这四者相互冲突, 只能选择⼀个

5.16位总长度字节数:IP数据报的长度,UDP也是16位(2个字节)

虽然IP数据报最大是2字节,64KB,但是IP协议内置了拆包组包机制,IP协议会把大的数据包拆分成多个IP数据报传输,在接收方拼接。

如何拼接?

被拆分成的多个IP数据报来携带,多个IP数据报的16位标识 都是一样的,保证是同一个数据拆分出来的。

7.13位偏移量:决定组包的时候每个报的位置。

8.3位标志位 :只有两个有效(剩下一个保留位以后待用),其中一个表示包是否需要组包(是否是拆包的一部分)。另一个表示 当前包 是否是组包中的最后一位。

9.8位生存时间:一个数据包在网络中最多的存活时间。

为什么会有这个,因为一个IP数据报,目的IP写错了,就会让数据报无线传输会消耗很多网络资源。TTL约定了传输时间上限,数据报就会被丢弃掉。

TTL单位是“次数”,不是秒。

发送一个IP数据报就会有一个初始TTL值(32,64,128...),每经过路由器转发一次TTL就会减少一次。减少到0就丢弃。

这里访问B站的IP数据报为例。

10.8位协议

表示:这里IP数据报中携带的荷载,是哪种传输层协议的数据报。

通过不同的数值 感知到接下来把数据 交给 TCP 还是 UDP 还是其他的协议解析。

11.16位首部检验和

验证数据在传输中是否出错。只针对首部Ip报头,荷载部分交给TCP/UDP自己的校验和

12.

表示数据报从哪里来,到哪里去。

32位整数可以表示很大数字,但是我们看到的地址都是点分十进制表示

通过三个原点分开,每个部分是一个字节。范围是0-255

IP地址用来表示网络上的设备,期望中Ip地址是唯一的,但是当今IP地址表示的地址完全不够用。

解决IP不够用的问题

方案一:动态分配IP地址。

一个设备不上网就不给他分配地址,但这不能从根本上解决。


方案二:NAT 网络地址转换,使用一个IP设备表示 一大波设备。

把IP地址分为两大类:

1.内网IP / 私网IP 。内网一般以10.*    172.16*-172.31.*   192.168.*这个几个开头

2.外网IP / 公网IP

要求 外网IP 必须是唯一的,但是私网IP是可以重复的(不同局域网中可以重复)

NAT网络地址转换

一个设备进行上网时,IP数据报中的IP地址就会被NAT设备转换(一般是路由器)自动修改。

什么时候转换?

1.同一个局域网内,主机A访问主机B,不会涉及NAT

2.公网设备A,访问公网设备B,不会涉及NAT

3.局域网中的主机A,访问另一个局域网中的B   这是NAT不允许的,访问不了。回显服务器中学生访问老师的服务器是不行的,因为在不同的局域网。

4.局域网中的设备A访问 公网的B,NAT机制主要就是针对这个情况生效。

日常中一个路由器会为一片区域的上万个设备服务。

凡是搭建服务器给别人使用都是要用公网的

NAT不仅能替换IP,也可以替换端口。替换IP时会记录映射关系。如果两个设备的端口号相同,NAT自动修改其中一个的端口,防止服务器返回IP数据报的时候 传输到错误的设备。

端口号本来是区分同一主机 不同应用程序的,在NAT中 也可以区分不同设备上不同的应用程序

NAT缺点:

网络环境复杂,替换的过程中,每一层映射关系都要维护。每次转发数据都要查询映射关系。


方案三:解决IP地址不够用 IPv6

IPv4 32位,4字节表示IP地址

IPv6 128位,16字节表示IP地址。非常巨大的数字,充分解决地址不够问题。


IP地址组成结构,
子码掩网方案:左边都是1,右边都是0

前三个点与数字:172.20.10 表示网络号

最后:2 表示主机号

特殊的IP地址:

1.主机号全为0(二进制),这个ip表示当前网段(相当于网络号)

因此给某个设备分配IP地址的时候 不能把主机号全设为0.

2.主机号全为1(二进制)

比如子码掩网是192.168.0.255 

这是广播IP,往这个IP上发数据 相当于给整个局域网所有设备都发了一次数据包。

广播IP主要用于 投屏。在对应广播IP上发送一个UDP,具有投屏功能的设备就会响应。

3.127.* (环回IP)

自发自收,给这个Ip发数据,设备就会从这个IP上再收到同一数据。


网络中规定:同一个局域网中,网络号必须相同,主机号必须不同。两个相邻的局域网,网络号必须不同。

举例:在下面这个局域网中,某一个设备的网络号不相同的情况,无法上网

某个设备的网络号相同,主机号和别的设备重复,也不能上网。

还有 ABCDE五类网络方案,现在已经不用了,这种浪费IP地址


日常开发主要是应用层,传输层就已经很少了,至于到数据链路层就已经用的非常少了。

以太网

类型:描述了载荷是啥样的数据

目的地址,源地址统称为:mac地址/物理地址

帧协议类型字段有三种值,分别对应IP、ARP、RARP;

其中上面两种类型是不传输任何业务数据的。是为转发功能提供辅助的措施。

最大载荷长度相当于1.5KB。

帧尾是校验和。

MTU相当于发快递时对包裹尺⼨的限制. 这个限制是不同的数据链路对应的物理层, 产⽣的限制
IP协议能拆包组包,实际上更多是应对MTU的限制。


mac地址 与 IP地址的区别

1.mac地址使用6字节表示。IP地址4字节表示。

空间范围比IP大很多6w多倍,mac地址可以给当前每个设备分配地址一个网卡出厂时已经被设置好了。mac地址可以作为身份标识。

2.mac地址使用在数据链路层,实现两个设备数据转发----微观

IP地址使用网络层,立足于整个流程转发,进行路径规划。-----宏观

以太网数据帧的mac地址 随着转发时刻发生改变。

APR,ARP协议可以视为 让当前设备获取周围设备IP地址 和 mac地址之间的映射关系


DNS应用层协议

将域名解析为网址。

一个域名可以对应 一个IP,一个IP也可以对应多个域名。

这个就是域名

前面是 域名 后面是 IP地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值