Internet Protocol(一)

简介: Internet Protocol

IP: Internet Protocol

互联网中的网络层

主机,路由器中的网络层功能:

8de46aa0d2a277a4efaa88ffa8b0e549_1691820850682-97ccd5ae-1c9c-488d-bc59-207fe31ccd1c.png

ip协议主要规定了 数据平面的转发功能

ICMP协议:


对于网络的信号,报错等的规定

路由器信令。

**ping应用程序的的本质: **


形成ICMP分组, 发给目标节点

目标节点反转回来形成ping的request的对应的respose

然后就可以知道目标ip是活跃的。

ip数据报格式

8b995c5d8edc6bb1f0469a3fb5d0659f_1691820916561-09e6c4cf-cb20-475b-9d63-f5595ca7b9ee.png

头部是可变长的,20字节的固定长度+ 选项部分

IP数据报的载荷部分(body): 也就是数据部分。

16bit identifier: id表示 ; flgs ;fragment offset; 中间这三个字段是分片用的

ttl(time to live):最大剩余段数,每经过一个路由器减一。

upper layer :将载荷部分交给上层的哪个协议(TCP/)

Internet CheckSum : 校验和 ,校验数据报的头部

Options 经过路由器的时候,交换节点会将option打在ip之中


分片和重组

** 网络链路有MTU (最大传输单元) -链路层帧所携带的最大数据长度 **


不同的链路类型

不同的MTU

** 大的IP数据报在网络上被分片 (“fragmented”) **


一个数据报超过了最大载荷量(1500bit) 所以就需要进行分片传输, 按照不同的id、偏移量等等


一个数据报被分割成若干个小 的数据报

相同的ID

不同的偏移量

最后一个分片标记为0

** “重组”只在最终的目标主机 进行 (最后到了目标主机,就会重组之前切分的部分)**

**IP头部的信息被用于标识,排序相关分片 **

分片的细节:

例子 : 4000 字节数据报 有20字节头部 、 3980字节数据


** MTU = 1500 bytes **


e600efd73e535fa151a4e700da8aa675_1691823389419-c35d922c-62d6-4f7f-b087-49995c8edc40.png


第一片:20字节头部+1480字 节数据 【 偏移量:0 】

第二片:20字节头部+1480字 节数据(1480字节应用数据) 【 偏移量:1480/8=185 】

第三片:20字节头部+1020字 节数据(应用数据) 【 偏移量:2960/8=370 】

路由器将每片都当成独立的分组进行转发, 最后所有的信息都到目标主机, ,到了目标主机之后就会进行重组(根据数据报的头部, 及其偏移量进行排序重组 ; fragflag=0就是最后一片)


IPv4地址

**IP地址: 32位标示(对设备进行标识),对主机或者路由器的接口 编址 **

0096b17db16fe4c1d1ef01a7a005a700_1691823714304-4a8b2d56-d816-417d-9311-7a6543cd44e8.png

接口: 主机/路由器和物理链路的连接处(223.1.3.27)


路由器通常拥有多个接口 (多个路由器之间进行转发)

主机也有可能有多个接口(多个网卡进行虚拟ip转发)

IP地址和每一个接口关联

** 一个IP地址和一个接口相关联 ,一个接口(接口)和多个IP相连**


子网

什么是子网(subnet) ?


一个子网内的节点(主 机或者路由器)它们的** IP地址的高位部分相同 **,这些节点构成的网络 的一部分叫做子网


**无需路由器介入,子网 内各主机可以在物理上 相互直接到达 **【在一个子网的内部,ip之间是一跳可达的。(具体的在链路层实现)】

58c6707c231cc0befdb52f20e3d0825b_1691824268183-06eceebd-4e85-47fd-a9f3-3d21d2827241.png


包括三个子网网络


**IP地址: **


**子网部分(高位bits) **

**主机部分(地位bits) **

判断是否为子网的方法:

要判断一个子网, 将每一个接口从主机或者路由器上分开,构成了一个个网络的孤岛

**每一个孤岛(网络)都是一个都可以被称之为subnet(子网). **

子网掩码:11111111 11111111 11111111 00000000

Subnet mask: /24

20cb2b8fd8e24aea256fca9534d80dd7_1691824774246-a36381b2-75a5-434c-900e-d87c085a6bc8.png

图中有6个子网

子网孤岛: 几个主机构成的一个网络孤岛(相当于欧盟,对外就是一个整体),网络的传输跳过了路由器。


IP地址分类

Class A:126 networks ,16 million hosts

Class B:16382networks ,64 K hosts

Class C:2 million networks ,254 host

Class D:multicast

Class E:reserved for future


7a933505959574a6f36e045feec7cfbe_1691825024645-87423cf8-fbe1-44a6-86ce-8563511be53a.png

以A类为例解释:

地址的最高位为0;第一个字节的其他七个bit代表网络号 ; 后面三个字节的24个bit代表主机号

A类地址一共2的7次方 - 2= 126个网络(减少的2个是全0 和全1 的网络号不用)。每个网络有2的24次方 - 2 个主机。

同理 B类网络有 2的14次方 - 2 ; 主机有 2的16次方 -2

依次类比


C类IP地址有 200多万个网络, 一般我们获取到网络都是C类地址网络。(A、B类的都被分配完了)

D类部分是组波(具体有点不太明白,但是就是)

E类都是预留的


特殊IP地址:

一些约定:


子网部分: 全为 0—本网络

主机部分: 全为0—本主机

主机部分: 全为1–广播地址,这个网络的所有 主机

所以全0 和 全1不被分配


**特殊IP地址: **


e3e5292d1de2a32b1ad192a931595c49_1691825485660-0d64b49b-3c60-485a-870c-2c3c82c124c7.png

内网(专用)IP地址

专用地址:地址空间的一部份供专用地址使用

永远不会被当做公用地址来分配, 不会与公用地址重复

只在局部网络中有意义,区分不同的设备

路由器不对目标地址是专用地址的分组进行转发

**专用地址范围 **


Class A 10.0.0.0-10.255.255.255 MASK 255.0.0.0

Class B 172.16.0.0-172.31.255.255 MASK 255.255.0.0

Class C 192.168.0.0-192.168.255.255 MASK 255.255.255.0

IP 编址: CIDR&& 子网掩码

** CIDR: Classless InterDomain Routing(无类域间路由) **


子网部分可以在任意的位置

**地址格式: a.b.c.d/x, 其中 x 是 地址中子网号的长度 **

8c3f332a13bc4c53298039083a5ba687_1691826358777-b4c06cb6-f0f7-492d-85e8-fe9c515050df.png

可以自己分配机构的子网掩码


子网掩码(subnet mask)

** 32bits , 0 or 1 in each bit **


1: bit位置表示子网部分 (代表网络号部分)

0:bit位置表示主机部分(代表主机号部分)

原始的A、B、C类网络的子网掩码分别是


A类:255.0.0.0 :11111111 00000000 0000000 00000000

B类:255.255.0.0:11111111 11111111 0000000 00000000

C类:255.255.255.0:11111111 11111111 11111111 00000000

** CIDR下的子网掩码例子:11111111 11111111 11111100 00000000

** 另外的一种表示子网掩码的表达方式 : /#

例:/22:表示前面22个bit为子网部分


转发表和转发算法

09e9ecf7596d176d512966c602cc3281_1691827399655-4e3f0b12-d976-4531-8819-6e5a1e34026a.png


图中的端口改为接口


**获得IP数据报的目标地址(IP DesAddress) **

**对于转发表中的每一个表项 **


如 (IP Des addr) & (mask)== destination 得到的是网号, 则按照表项对应的接口匹配并 转发该数据报

如果都没有找到,则使用默认表项转发数据报

如何获得一个IP地址

主机如何获得一个IP地址?

系统管理员将地址配置在一个文件中


Wintel: control-panel->network- >configuration->tcp/ip->properties

UNIX: /etc/rc.config


** DHCP: Dynamic Host Configuration Protocol: 从服务器中动态获得一个IP地址 **

“plug-and-play”—> 动态主机配置协议

**对于一个机构(ISP)怎么获取IP地址 ? **


首先某个机构会获取相对的一大块ip地址(前面若干位为网络号;后面的为主机号)

就假设前20位为网络号, 后面的12位为主机号

将后面的12位进行分割范围【前3位再表示网络号;后9位表示子网号】

这样就有23位为网络号。 9位子网号。 然后再对9位进行分割

分成2位为网络号,7为子网号

…..

按照这样进行无限的套娃, 最后得到的就是某个具体的IP地址。

总的来说就是你的老大从国家那里申请了一个完整的蛋糕, 你想要拥有这块蛋糕的一部分,他人也想要,那就只能从这个老大那里去切了。除非你也能从国家那里获取最初的那块完整的蛋糕


ISP’s block 11001000 00010111 00010000 00000000 200.23.16.0/20


Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23

Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23

Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23

… ….. …. ….

Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23

最初的ip地址(蛋糕)可以到ICANN机构去申请(这是在中国的)


DHCP: Dynamic Host Configuration Protocol(协议)

**允许主机在加入网络的时候,动态地从服务器那里获得IP地址: **


可以更新对主机在用IP地址的租用期-租期快到了

重新启动时,允许重新使用以前用过的IP地址

支持移动用户加入到该网络(短期在网)

** DHCP工作概况: **


主机广播“DHCP discover” 报文[可选]

DHCP 服务器用 “DHCP offer”提供报文响应[可选]

主机请求IP地址:发送 “DHCP request” 报文

DHCP服务器发送地址:“DHCP ack” 报文

0fb4ee2235c425854c2d3da3551d2296_1691828051066-3e7fdaa3-4b87-44e0-8dbc-590c70c2bd56.png

**上述的详细解释: **




目录
相关文章
|
6月前
|
缓存 负载均衡 网络协议
Internet协议(上)
Internet协议
95 0
|
6月前
|
存储 网络协议 搜索推荐
Internet协议(下)
Internet协议
146 0
|
存储 网络协议 安全
Internet Protocol(二)
Internet Protocol
65 0
|
4月前
|
存储 JSON Java
Protocol
【7月更文挑战第20天】
54 1
|
网络协议 安全 物联网
Internet
一、Internet 互联网(Internet)是全球最大的计算机网络,由无数个互联的计算机网络组成。它是一个分布式的网络结构,连接了全球范围内的计算机、服务器、路由器和其他网络设备。 互联网的起源可以追溯到20世纪60年代末和70年代初,当时美国的军事和科研机构开始建立一种分布式的、能够抵抗故障的通信网络。最初的互联网是由美国国防部高级研究计划局(ARPA)资助的ARPANET,它在1969年建立了第一个节点,最终发展成为全球范围的网络。 互联网的基础协议是TCP/IP协议,它提供了可靠的数据传输、路由选择和互联互通的功能。TCP/IP协议将数据分割成小的数据包,并通过IP地址和路由选择将数
116 0
|
6月前
protocol协议处理
protocol协议
51 0
|
存储 缓存 搜索推荐
Internet应用
.4 Internet应用 1.电子邮件服务 电子邮件服务 (又称E-mail服务) 是目前因特网上使用最频繁的服务之一,它为因特网用户之间发送和接收消息提供了一种快捷、廉价的现代化通信手段。 1)电子邮件的功能 (2) 邮件的发送(可以发送给一个用户或同时发送给多个用户) : 2)电子邮件地址的格式 由于E-mail是直接寻址到用户的,而不是仅仅到计算机,所以个人的名字或有关说明也要编入E-mail地址中。 Internet的电子邮箱地址组成如下: 用户名@电子邮件服务器名 它表示以用户名命名的邮箱是建立在符号“@"(读作at)后面说明的电子邮件服务器上的,该服务器就是向用户提
|
网络架构
初识Internet(五)
计算机网络的性能
111 0
初识Internet(五)
|
网络架构 容器
初识Internet(六)
计算机网络的性能
217 0
初识Internet(六)
|
Web App开发 搜索推荐 iOS开发
初识Internet(三)
使用计算机网络
111 0
初识Internet(三)