首页 > 编程知识 正文

ip协议 网络层,以太网应用层协议

时间:2023-05-04 05:43:08 阅读:178712 作者:1082

网络层ip协议报头的格式地址管理路由

网络层

ip协议报纸格式

4位版本:指定的ip协议版本、ipv4和ipv6、ipv6不向后兼容;

4比特报头长度(ip协议报头长度,即表示length*4的字节数,4比特表示最大的数字为15,因此ip报头的最大长度为60字节(固定的20字节40字节的选项);

8位服务类型:必须设置为3位优先级字段(已过时)、4位TOS字段和1位保留字段(0)。) . 4位TOS分别表示最小延迟(ssh )、最大吞吐量(throughput )、最高可靠性和最低成本。 在这四个中相互冲突,只能选择一个。

16比特的总长度:表示整个ip数据报的长度,单位为字节; ip头部有效载荷

注意: a .由于网络电气特性的影响,数据链路层对数据帧存在限制。 MTU :最大传输单元,可以在ifconfig上看到。 单位是字节

b .如果网络层向数据链路层提交的数据大于MTU,则需要分片传输

c .自身网络层ip协议的最大数据消息长度为2^16次方,65536字节

d .在数据封装中,网络层数据来自传输层,但传输层有两个协议TCP、UDP;

因为按照3358www.Sina.com/MSS向网络层发送数据,所以在网络层加上ip报头后也在MTU以下,所以3358www.Sina.com/(tcp在三次握手时最大报文段

(tcp通信双方在同一台机器上时,网络传输只进行协议栈,进行本地环回卡,本地环回卡的MTU大小通常为65536 )

3358www.Sina.com/有完整的数据发布,可以发布到网络层的数据。TCPUDP协议不可靠。 网络层的ip协议也不可靠。 在分片传输过程中,如果网络层丢失了一个分片,则整个UDP数据必须丢失。

16比特标识符)标识当前UDP分组片段传输的数据是哪个完整的UDP消息; 同一UDP分组中的所有片具有相同的标识值;

3位标志:位1保留位; 位2片禁止; 位3识别更多的片,如果识别自己不是最后的片,其比特值是1,如果识别自己是最后的片,其比特值是0;

13比特片偏移:标识UDP消息中的片的位置; 最大213=8192数值,切片偏移=13位数值*8字节=216,也是切片的开始位置;

8位生存时间:数据到达传输目的地之前可以通过的路由器数量; TTL:跳数表示该分组能够接受设备传送的最大数量,当传送路由器时,TTL进行负1的操作,当在TTL内到达对方主机或成为负0时,转发设备丢弃该消息; 一般TTL=64; 防止路由循环;

8位协议:标识传输层使用哪个协议。 当端到端分开使用时,端到端网络层在这个标志位中意味着知道应该将该数据提交到传输层的哪个协议。

16位报头校验和:判断IP报头在传输中是否损坏;

32位源ip地址在传输过程中ip地址不会更改。 除了NAT技术

32位目标ip地址在传输过程中不会更改该ip地址。 除了NAT技术

在IP地址管理中,我们正在考虑ipv4版本的IP地址。 类型为unit32_t,范围为(0到0~2^32 )

早期划分方式不需要分片传输

网络编号:标识表示ip地址山的子网,网络段;

主机编号在子网中唯一标识主机;

早期划分ip地址的方式是将ip地址划分为不同类型,根据不同类型中的网络号划分不同的子网,每个子网具有若干ip地址;

第http://类www.Sina.com /

3358 www.Sina.com/0000000000000000.0.0

http://www.Sina.com/1111111111111111111111127.255.255

网络号码范围:0~127意味着共划分了128个子网络

ip地址范围:0.0.0.0~127.255.255.255

每个a类子网最多可以有2 ^ 24个ip地址(1677216 )

第http://类www.Sina.com /

3358 www.Sina.com/000000000000000000000000--”128.0.0.0.0

http://www.Sina.com/111111111111111111111111115.255.255

网络号码范围: 128.0~191.255

主体编号范围:0~2^16

ip地址范围: 128.0.0.0~192.255.255.255

第http://类www.Sina.com /

110 00000 00000000 00000000 00000000–》192.0.0.0
110 11111 11111111 11111111 11111111 --》223.255.255.255
网络号范围:192.0.0~223.255.255
主机号范围:0~2^8(256)
ip地址范围:192.0.0.0~223.255.255.255

D类

D类:高4位固定,28位多播组号

E类

E类:高5位固定,27位留用

CIDR方式–引入子网掩码netmask

子网掩码是一个unit32_t的整数,由一段连续的二进制1构成;
为了更加精确化的分配ip地址,在每一个子网中,都可以计算分配的ip地址数量;

子网掩码取反后,有多少个比特位为1,表示主机号使用了多少比特位
最大主机号 = 子网掩码取反
网络号 = 子网掩码 & IP地址

主机号全为0的表示 网络号
主机号全为1的表示 广播号

私网IP

在42亿地址池当中,划分出来3个段,在这三个段当中的ip地址不具备访问互联网的能力,也就是这些ip地址不能够访问互联网。

本质

1.这三段ip地址可以进行复用,不管是个人还是去也还是国家,都可以不用申请就直接使用;
2.这些ip可以组建子网,而我们将这种子网称为私网,对应的互联网称为公网;
3.这个私网当中的ip之间,不影响网络通信;就是私网当中的机器之间可以互相通信,但是不能访问互联网;

私网网段划分

1.10.*.*.* 10.0.0.0~10.255.255.255 云服务器的时候,10开头
2.172.16.*.*~172.31.*.* 172.16.0.0~172.31.255.255
3.192.168.*.* 192.168.0.0~192.168.255.255

特殊的IP地址

127.0.0.1:本都回环地址
0.0.0.0 用于在服务器程序中,表示服务器机器上所有网卡的ip地址
255.255.255.255 :UDP的广播地址,DHCP协议:动态主机分配协议:谁上网给谁分配IP

路由选择


可使用route命令查看路由表
目的ip地址:
1.用目的ip地址,和路由器当中的每一个条目的子网掩码进行按位与操作;

如果得到的结果不是该子网的网络号,表示这个数据不是给这个子网中的某一个机器的;
如果得到的结果是该子网的网络号,则直接转发给子网中的机器;

2.如果除了默认网关之外的路由条目都没有匹配上,则这条数据就需要走默认网关,直接传递给上级路由器;

3.如此往复,在每一个路由设备上进行对比,之后进行传输,直到TTL耗尽被丢弃,或者抵达到目标主机;
注意:
网络层的ip协议不负责数据有序或者可靠到达对端;
网络层的ip协议值负责数据的源端和目的端;

ICMP协议

ip协议并不能提供可靠传输,如果丢包了,ip协议并不能通知传输层是否丢包以及丢包的原因。

一个新搭建好的网络,往往需要进行一个简单的测试,来验证网络是否畅通。

ping命令基于ICMP,是在网络层,而端口号,是传输层的内容,在ICMP中根本不关注端口这样的信息。

功能:
确认IP包是否成功到达目标地址;
通知在发送过程中IP包丢去的原因;
ICMP只能搭配IPv4使用. 如果是IPv6的情况下, 需要是用ICMPv6;

数据链路层

负责相邻设备的传输,决定性因素MAC地址
MAC地址:6字节的整数 unit8_add[6];
MAC地址在每个机器上都是独一无二的

以太网协议

目的MAC地址(6字节)+源MAC地址(6字节)+类型(2字节)+数据+CRC校验

类型:标识网络层使用什么协议;
数据:有效载荷
CRC校验:检测数据链路层的数据帧是否差错;

ARP协议:通过IP地址获取相邻设备的MAC地址

MTU(最大传输单元)

MTU相当于发快递时对包裹尺寸的限制,这个限制是不同的数据链路对应的物理层,产生的限制。

MTU对IP协议的影响

由于数据链路层MTU的限制,对于较大的IP数据包要进行分包。

将较大的IP包分成多个小包,并给每个小包打上标签;
每个zqdlqIP协议头的16位标识字段中,第2位置为0,表示允许分片,第3位来表示结束标记(当前是否是最后一个小包,是的话置为0,否则置为1);
到达对端时再将这些小包,会顺序重组,拼装到一起返回给传输层;
一旦这些小包中任意一个小包丢失,接收端重组就会失败,但是IP层不会负责重新传输数据;

MTU对UDP的影响

一旦UDP携带的数据超过1472(1500-20(IP首部)-8(UDP首部)),那么就会在网络层分成多个I数据报。
这多个IP数据报有任意一个丢失,都会引起接收端网路层重组失败,那么就意味着,如果UDP数据报在网络层被分片,整个数据被丢失的概率就打打增加了。

ARP协议(介于数据链路和网络层之间的协议) 作用:

通过IP地址获取相邻设备的MAC地址。

ARP协议格式:

ARP协议格式=以太网首部+28字节ARP请求或者应答首部
以太网首部:
以太网目的地址:ARP请求的目的MAC地址,填充为1,则表示广播地址;
以太网源地址:ARP请求的主机的MAC地址;
帧类型:以太网数据帧类型,表示上层使用什么协议–>ARP协议是介于网络层和数据链路层之间的协议。

28字节的请求或者应答:
2字节硬件地址类型:定义运行ARP网络的类型,1为以太网。
2字节协议类型:转换的地址类型,0x0800为IP地址;
1字节的硬件地址长度:表示MAC地址的长度;
1字节的协议地址长度:表示IP地址的长度
op:标识ARP请求还是ARP应答,1表示请求,2表示应答;
4字节发送端以太网地址;发送ARP请求或者应答主机的MAC地址;
4字节发送端ip地址:发送ARP请求或者应答主机的IP地址;

目的以太网地址:
ARP请求:0x000000000000;
ARP应答:填充的是,ARP请求中的源MAC地址;

目的IP地址:目标主机的IP地址

ARP缓存表(可用arp -a命令查看)

1.每一台机器,会定时的获取相邻设备的MAC地址,时间为20min,20min也是ARP缓存表的老化时间;
2.如果在数据链路层没有在缓存表当中发现相邻的MAC地址,则发送ARP请求,否则,直接从缓存表当中获取,组织数据链路层的以太网数据帧;

注意:

ARP请求时广播发送的,如果是目标主机收到则处理,如果不是目标主机收到,则丢弃;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。