网络—网络层协议(IP协议)

一、IP协议:

  • IP协议是TCP/IP协议族中最核心的协议。所有的TCP、UDP、ICMP、IGMP数据都以IP数据报的格式传输;

二、IP协议头格式:

协议格式

  1. 4位版本协议:ipv4和ipv6;
  2. 4位首部长度:ip协议不定长,最长60字节,最短20字节;(40字节的选项数据)
  3. 8位协议类型(TOS):3位优先权(弃用),4位服务类型(最小延迟,最大吞吐量,最高可靠性,最小成本);1位保留字;
  4. 16位总长度:包括IP报文头部的一个IP报文大小;最大长度不得大于64k;tcp在传输层会选择合适的mss大小数据传输;
  5. 16位分片标识:udp数据在网络层可能进行数据分片,标识当前分片属于哪个报文;
  6. 3位标志位:1位保留,1位禁止分片标志,1位更多分片标志;
  7. 13位分片偏移:以八个字节为单位,表示当前分片在完整报文中的位置;
  8. 8位生存时间:保温最大生命周期;一条数据能够经过到少路由器,没经过一个路由器,-1;为0则将数据丢弃;
  9. 8位协议:8位上层协议,网络层取出数据需要通过这个协议类型,决定传输层用哪个协议对数据进行解析;
  10. 16位首部校验和:校验数据是否一致。
  11. 源IP地址/目的IP地址–32位: 描述起点到终点;
  12. 40字节选项参数:保留经过的路由器地址信息。
(一)网络层的数据分片:
  • 若传输层交付下来的数据大小过大,这会在网络层将这些大数据切分为很多小的数据分片,然后每个分片封装IP报文头部进行发送,到达对端之后进行分片重组,组合成完整的一个报文交付给上层;
  • 传输的数据过大进行分片–多大会分片?–取决于链路层最大传输单元的限制–MTU(最大传输单元);
  • 传输层协议tcp中协商的mss就是根据MTU进行协商的,所以,tcp数据传输到网络层是不会进行分片的;但udp协议中数据只要不大于64k-28的大小就可以传输,因此在网络层若是大于MTU大小就会在网络层上进行分片,防止数据丢失;因此网络层的数据分片主要是针对UDP的。
(二)分片偏移量为什么是8个字节为单位:
  • 13位分片偏移量能表示的最大偏移量为2^13=8192;但一个完整的udp可能是64k,13位偏移量没办法表示,因此字段的大小是以 8 个字节为单位,那8192个偏移量就表示8192x8 = 64k;这样就完整表示偏移量了。

三、网段划分与路由选择:

(一)地址管理与IP地址组成:
1. 地址管理:

(1)IP地址:无法符号的32位整数,在网络中唯一标识一台主机;IP地址给主机分配一定要确保唯一性;
(2)网络分配IP地址是非常庞大的工作需要机器分配–DHCP–动态太地址分配;
(3)整个网络是有众多小型网络组成的,按照网络进行分配。

2. IP地址的组成:网络号+主机号

(1)网络号:一个路由器组建局域网的时候所对应的一些网络标识;(每个路由器对于接收到的数据进行源地址判断,这个主机是否属于自己的网络,属于才会转发,不属于直接丢弃,必须使用我给你分配的地址才能上网,避免自己分配造成冲突);
(2)主机号:主机号就是局域网中大家拥有相同的网络号,唯一标识的一个主机;
(3)网段的组成

  • 早期将所有IP地址划分成为五类地址,组建什么样的网络,就使用什么样的网络号,分配什么样的地址。
    A类:用于组建超大型网络,IP地址中:高1位固定0,高7位是网络号,低24位是主机号****0.0.0.0~127.255.255.255;
    B类:用于组建中型网络,IP地址中:高2位固定10,高14位是网络号,低16位是主机号****128.0.0.0~191.255.255.255;
    C类:用于组建小型网络,IP地址中:高3位固定110,高21位是网络号,低8位是主机号****192.0.0.0~223.255.255.255
    D类:特殊网络,地址中:高4位固定1110,28位多播组号;
    E类:特殊网络,地址中:高5位固定11110,27位保留号;
    ⑥你要组建什么网络,然后去权威机构进行申请,分配一个网络号,接下来组建网络,主机号自己分配。

  • 当前划分方式:CIDR方案–引入一个新的字段:子网掩码
    子网掩码:无符号的32位整数,不过数据由连续的二进制1组成;

    • 子网掩码取反得到最大的主机号;例如:255.255.255.0取反得到0.0.0.255–得到最大主机号为 255;
    • 子网掩码和IP地址相与,可以得到网络号;

    例题
    现在有一个公司,申请了一个c类地址,192.168.122.0/24,公司由4个部门,想要平均划分出4个子网,请问如何划分,划分后,各个子网的网络号是多少?子网掩码是多少?IP地址范围是多少?
    子网掩码:c类网络:拥有256个主机号0 -255;平均划分4个子网-那么每个子网的主机号64个,主机号范围0~63;
    所以0.0.0.00111111 取反得子网掩码:255.255.255.192;
    192.168.122.0~192.168.122.63–192.168.122.0/255.255.255.192;
    192.168.122.128~192.168.122.191 – 192.168.122.128/255.255.255.192;
    192.168.122.128~192.168.122.191 – 192.168.122.128/255.255.255.192;
    192.168.122.192~192.168.122.255 – 192.168.122.192/255.255.255.192

(4)特殊IP地址
①主机号全为0的IP地址:网络号–用于标识网络—这个主机号不能分配给主机192.168.122.0;
②主机号全为1的IP地址: udp局域网广播地址—这个主机号不能分配给主机;
udp支持局域网广播,将数据发送的广播地址,可以认为是发送给局域网中的所有主机–局域网所有主机都能识别;
tcp不支持局域网一个地址广播,因为tcp是面向连接的。
③127.0.0.1:这个地址是每个主机上都有的一个本地虚拟回环网卡地址–主要用于本机的网络测试;
④0.0.0.0:这个地址适配本机上任意网卡地址,常用于服务端监听地址–表示监听本机所有网卡IP;
⑤255.255.255.255: 全网广播地址–任意一个主机拿到发往这个地址的数据都会认为和自己匹配—常用于DHCP广播。

(二)路由选择:
1. 概念:
  • 根据数据中的目的地址,来为数据选择一条合适的路径;
  • 每个主机连接上路由器之后,都会全网广播DHCP请求,路由器收到进行回复:①DHCP响应;②给主机分配地址;③当前所有网络的子网掩码;④当前所有网络的网关地址;
2. IP数据报传输:
  • 当IP数据包, 到达路由器时, 路由器会先查看目的IP;
  • 路由器决定这个数据包是能直接发送给目标主机, 还是需要发送给下一个路由器;
  • 依次反复, 一直到达目标IP地址。
  • 如果目的IP命中了路由表, 就直接转发即可;
  • 路由表中的最后一行,主要由下一跳地址和发送接口两部分组成,当目的地址与路由表中其它行都不匹配时,就按缺省路由条目规定的接口发送到下一跳地址。
3.公网和私网:
  • IP地址不够用,除了DHCP技术还有一种技术–NAT技术:网络地址转换技术;
  • 一个路由器可以组建一个私网,私网中的主机都是使用路由器对外的一个网卡地址进行上网;
  • 那麽这些私网中的主机IP地址与其他私网中的IP地址就不害怕存在冲突了,因为对外他们都是使用不同的IP地址进行上网;
  • 只要保证不与外网的IP地址冲突就可以了,但是相邻的两个网络不能使用相同的网络号。网络是否相邻主要取决于路由器的连线,与路由器相连线的网络都是相邻网络。
  • 能组建私网的地址有哪些:
    ①10.* :大型私网
    ②172.16.-172.31. :中性私网
    ③192.168. :小型私网

猜你喜欢

转载自blog.csdn.net/weixin_42357849/article/details/107593626