计算机网络学习(三)——网络层

下面我们来研究网络层,即从数据是怎样在两台主机之间传输的。

1.路由器的工作原理

路由器的主要功能是转发从链路层传输过来的数据。它由输入端口、交换结构、输出端口和路由选择处理器组成。路由选择处理器可以认为是软件层面的东西,它决定将传输进来的数据报发送到哪一个端口。

2.IP数据报分片

很不幸的一点是,不同的链路层协议的所允许的最大数据承载量(MTU)是不同的。这将带来一个棘手的问题,那就是如果数据报的大小超过了MTU该如何解决。
一个很自然的想法就是把这个大的数据报分成可以传输的较小的几份进行传输。事实上我们采用的正是这种方法,这些较小的数据报称为片。可是这样一来就有了新的问题:如何区分传输的数据是完整的还是一个数据报的一片呢?怎样将分散的数据片整合称为完整的数据报呢?
对于第二个问题,为了减少路由器的复杂性,我们只在端系统中进行数据的整合。而为了区分数据报是否是较大数据报的一片,我们将 标识标志片偏移加入数据报的首部字段用来区分。
标识即为数据报的序号,如果两个数据报具有相同的标识,那说明它们是一个大数据报的分片。标志用来说明分片的数据报是否是最后一片(最后一片的标识是0,否则是1)。片偏移则标识这些数据片的顺序(第一个字节在大数据报中的序号)。

3.IPv4编址

IP地址是主机和物理链路的接口,一个IP地址和一个接口相关联。一般来讲一台主机有一个接口,而路由器有多个。
地址长度为4字节,每个字节之间用.分隔。
子网:分开路由器的各个接口(即认为它们之间无连接)所形成若干个隔离的网络岛,每一个网络岛就是一个子网。子网的前若干位IP地址相同,例如223.1.1.0/24是一个子网地址,这个子网中的IP地址形式均为223.1.1.x,/24即为子网掩码标识子网中的IP地址前24位相同。
形式为a.b.c.d/x的前x位构成IP地址的网络部分,剩余32-x位用于区分同一子网中的内部设备。在CIDR被采用之前,x的值只能为8、16、或24。
如果一台主机向目的地址为255.255.255.255发送数据报时,该报文会发送给同一网络(子网)中的所有主机。255.255.255.255称为广播地址。

地址的获取

一般来说,某一机构向他的ISP联系申请获得一块IP地址。我们主要关心的是一台主机是如何获取IP地址的。
DHCP:某给定主机每次与网络连接都能获取一个相同的IP地址或一个临时的IP地址。(即动态分配IP)DHCP是一台连接到网络(子网)中的主机,称为DHCP服务器。
当一台主机连入子网后需要向DHCP服务器申请IP地址,可是主机并不知道DHCP服务器的地址,这是它以IP地址0.0.0.0向子网中广播(255.255.255.255)DHCP发现报文,DHCP服务器收到后由于没有申请主机的IP地址也在子网中发送广播,内容是发现报文的ID、推荐的IP地址、网络掩码和租用期。主机收到后选择一个IP地址并向服务器发送DHCP请求报文,DHCP服务器收到后发送ACK报文。一旦收到ACK后,交互完成。

网络地址转换

有一个很有趣的问题不知大家想过没有,那就是我们现在都用电脑开wifi然后连上若干台手机或者家里的一台路由器连接好几台电脑和手机,那这些手机和电脑的IP地址是什么呢?这一问题称为网络地址转换(NAT)。
以多台电脑连接一个路由器为例,事实上这些电脑对外是相同的IP地址,即路由器的地址。对内有不同的地址区分(我理解为这些电脑又是一个子网)。外部的消息到达路由器后,路由器根据NAT的转换表把数据交付给对应的主机。(有一点需要说明的是,NAT占用了路由器或主机的端口号用于主机编址)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值