计算机网络基础3(笔记)

时间:2024-03-13 12:29:16

一、网络层向上只提供简单灵活的、无连接的、不可靠的IP数据报服务。可靠传输由上层的运输层提供。

二、网际协议IP:
1.网际协议IP是TCP/IP体系中最重要的协议之一。与其配套使用的还有:地址解析协议ARP(Address Resolution Protocol)、网际控制报文协议ICMP(Internet Control Message Protocol)、网际组管理协议IGMP(Internet Group Management Protocol)。
计算机网络基础3(笔记)

2.虚拟互联网络:
(1)将网络连接起来要使用一些“中间设备”。如:物理层的“转发器”;链路层的“网桥”或“桥接器”;网络层的“路由器”;网络层以上使用的中间设备叫“网关”。
(2)互联网可以由多种异构网络互相连接而成。如下图,从H1主机到H2主机经过了路由器、通信卫星、无线网,最终交付给H2主机。
计算机网络基础3(笔记)
3.分类的IP地址:就是将IP地址划分为若干个固定类。其中A、B和C类地址都由两个固定长度的字段组成,第一个字段是“网络号”(net-id),标志主机或路由器连接到的网络,网络号必须唯一。第二个字段是“主机号”(host-id),标志主机或路由器。
IP地址::={网络号,主机号}
(1)地址分类如下:计算机网络基础3(笔记)
计算机网络基础3(笔记)
全0的主机号表示该IP地址是“本主机”所连接到的单个网络地址。而全1主机号表示“所有的”,即该网络的所有主机。
A类地址:网络号126个(2^7-2),1.0.0.0-126.255.255.254。 0.0.0.0表示“本网络”;127.x.x.x是系统环回地址。
B类地址:网络号16383(2^14-1),128.1.0.1-191.255.254;128.0.0.0不指派。
C类地址:网络号2097151(2^21-1);192.0.1.1-223.255.255.254。
(2)IP地址的特点:
a.IP地址管理机构只分配网络号,主机号由各单位自行分配。路由器根据目的主机所连接的网络号转发分组,不考虑主机号,这样使路由表的项目减少许多。
b.用转发器或网桥连接起来的若干局域网仍为一个网络,因为网络号相同。
c.同一个网络上的主机或路由器的IP地址中网络号必须是一样的。路由器连接多个网络,至少有两个以上的IP地址。

4.IP地址与硬件地址:物理地址是链路层和物理层使用的地址,而IP地址是网络层及以上各层使用的地址,是一种逻辑地址。

计算机网络基础3(笔记)
(1)发送数据时是由上向下,IP数据报从网络层到了链路层就会被封装成MAC帧,MAC传输时使用的源地址和目的地址都是硬件地址,都写在MAC帧的首部中。
(2)主机或路由器接收到MAC帧时,根据MAC帧首部的硬件地址决定收下或丢弃。
(3)剥去MAC帧的首部和尾部后把MAC层的数据交给网络层后,才能在IP数据报的首部中找到源IP地址和目的IP地址。
计算机网络基础3(笔记)
计算机网络基础3(笔记)
5.地址解析协议ARP:已知IP地址,找出其对应的硬件地址。计算机网络基础3(笔记)
(1)每台主机都有一个ARP高速缓存(ARP cache),里面有本局域网中的主机和路由的IP地址到硬件地址的映射表,并且这个映射表是动态更新的(每一个项目都设置“生存时间”,比如10-20分钟过期会删除)。
(2)ARP的工作流程:
a.主机A要向本局域网的主机B发送数据报时,首先在其ARP高速缓存中找有没有B的IP地址映射。。如果有,就拿到其硬件地址写入MAC帧的首部。
b.如果在ARP缓存中找不到B主机的信息。 就通过ARP进程向本局域网中的所有主机广播发送一个ARP请求分组:“我的IP地址时209.0.0.5,硬件地址是00-00-60-C0-AD-18。我想知道IP地址是209.0.0.6的主机的硬件地址”。
c.局域网内所有主机都会收到这个ARP请求分组。但是只有B的IP地址和目标地址一样,所以B会向A发出ARP响应分组:“我的IP地址是209.0.0.6,硬件地址是08-00-2B-00-EE-0A”。
d.主机A收到该响应分组时,就把对应的IP地址和硬件地址写入自己的ARP高速缓存中。。同时,B也把A的IP和硬件地址写入自己的ARP高速缓存中。计算机网络基础3(笔记)
(3)使用ARP的四种场景:
计算机网络基础3(笔记)
a.发送方是主机H1,要把IP数据报发送到同一个网络上的另一台主机H2。这时H1在网络1上广播发送ARP请求分组,找到H2主机的硬件地址。
b.发送方是主机H1,要把IP数据报发送到另一个网络的主机H4。这时H1发送ARP请求分组找到路由器R1的硬件地址。剩下的交给路由器R1完成。
c.发送方是路由器R1,要把IP数据报转发到同网络的主机H3上。这时R1在网络2上广播发送ARP请求分组,找到H3主机的硬件地址。
d.发送方是路由器R1,要把IP数据报转发到网络3上的H4。H4与R1不在同一网络。这时R1在网络2中广播发送ARP请求分组,找到连接在网络2上的路由器R2的硬件地址。剩下的由路由器R2完成。

6.IP数据报的格式:TCP/IP标准中,各种数据格式常使用4字节(32位)来描述。
计算机网络基础3(笔记)
如上图所示,IP数据报由首部和数据两部分组成。首部的第一部分是固定长度,共20字节,是所有IP数据报必须有的。之后还有一些可选字段,其长度是可变的。
(1)IP数据报首部中固定部分的字段:
a.版本:占4位,指IP协议的版本。
b.首部长度:占4位,最大表示十进制数15。其单位是32位(4个字节),因为首部固定长度是20字节,因此此字段最小值是5(即二进制0101)。而最大值为15,即表明IP分组的首部最大长度是60个字节。
c.区分服务:占8位,用来获得更好地服务,目前为止没用。
d.总长度:占16位,指首部和数据之和的长度,单位为字节。数据报的最大长度为2^16-1=65535字节。 链路层协议都规定了一个数据帧的数据字段(即数据报的首部加上数据部分)的最大长度,这称为最大传送单元MTU。常用的MTU设置为最大1500字节,超过这个值就要进行分片处理。
e.标识:占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数就加1,并将此值赋值给标识字段。当数据报长度超过MTU时要进行分片时,属于同一个数据报的不同分片标识是相同的,这样就可以重组为原来的数据报。
f.标志:占3位。目前只有两个意义:标志字段中的最低位为MF。当MF=1时表示后面“还有分片”。MF=0时表示这是已知分片的最后一个; 标志字段中间一位为DF,意思是“不能分片”。当DF=0时才能分片。
g.片偏移:占13位。表示分组分片后,某片在原分组中的相对位置。片偏移以8字节为单位,也就是说出了最后一个分片,前面的分片都是8字节的倍数。
h.生存时间:占8位,表明数据报在网络中的寿命。即最大经过多少次转发,目前最大值为255。路由器每转发一次就建1,当该值为0时就丢弃。
i.协议:占8位,指出此数据报携带的数据是何种协议,以便目的主机的IP层知道将数据部分上交给哪个协议进行处理。
j.首部检验和,占16位,只检验数据报的首部,不包括数据部分。
k.源地址:占32位。
l.目的地址:占32位。

(2)IP数据报首部的可变部分:1到40个字节不等,实际很少用。

7.IP层转发分组的流程:
(1)从数据报的首部提取出目的主机的IP地址D,得出目的的网络地址为N。
(2)若N就是与此路由直接相连的某个网络地址,则进行“直接交付”(把目的地址D转换为具体的硬件地址,把数据报封装为MAC帧,再发送);否则就是间接交付,执行(3)。
(3)若路由表中有目的地址为D的特定路由,则把数据报转发给路由表中指明的下一跳路由器;否则执行(4)。
(4)若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器;否则执行(5)。
(5)若路由表中有默认路由,则把数据报传送给路由表中指明的默认路由器;否则执行(6)。
(6)报告转发分组出错。