计算机网络基础

本文详细介绍了计算机网络的基础知识,包括网络互连设备如交换机、路由器的功能及其工作原理,深入讲解了IP协议的分组格式、分段与重组、地址分类及子网划分。此外,还探讨了ARP、ICMP、DHCP和NAT的作用,以及TCP和UDP的连接管理。最后,提到了域名服务和传统网络应用如电子邮件和HTTP协议的工作方式。
摘要由CSDN通过智能技术生成

一、网络互连

1.       交换和路由

网桥:数据链路层互连的设备,用于连接那些采用相同或者类似数据链路层协议的链路。

       路由器:网络层互连的设备,用于连接各种不同类型的链路。

交换机:本质上工作模式与网桥相同,但是内部的交换电路允许同一时刻将多个输入端口来的帧转发到不同的输出端口上,大大提高了转发速度。

网络互连设备一般都具有端口隔离功能(一个端口上的传输不会干扰另外一个端口上的传输)和缓冲功能(可能存在多个输入端口同时向一个输出端口转发)

网络互连设备一般包括两个平面的工作:一个是数据平面,负责如何转发分组。通过查找转发表来决定向哪个输出端口转发数据。另外一个是控制平面,负责构建数据平面的转发功能所需要的转发表。

采用交换机连接的互联网,节点通过唯一的48比特的MAC地址标识,采用路由器连接的互联网,通过统一的32比特的IP地址进行标识。

1.1 虚电路和数据报

通过网络互连设备连接的互联网根据其何时决定路由可以分为虚电路数据报两种方式。

虚电路方式中,源和目的节点必须首先建立一条逻辑连接,然后才能进行数据传输,最后传输结束时释放连接,因此也称为面向连接的方式。

在数据报方式中不需要预先建立连接,也称为无连接方式。每个分组中包含了源地址和目的地址等字段,节点根据分组头部的目的地址等控制信息来决定路由。

延时方面,数据报在传输时在每个节点都需要进行路由查找,因此分组转发延迟更高,虚电路则需要预先构建电路时间,构建完成后,分组转发延迟较低;路由选择上,数据报每个分组单独选择路由,而虚电路在构建电路时选择路由,以后每个分组都采用该路由;状态上,数据报每个分组需要保存信息,但节点内部无状态,而虚电路每个节点都要有虚电路表,每个分组内部有虚电路号。

1.2 源路由

路由选择分为源路由逐跳路由。源路由指由发送方决定途中经过的节点,然后在其发送的分组中给出要经过的节点的列表。逐跳路由即每个节点只根据其维护的转发表来决定下一条节点,不需要知道途中所有的节点列表。

       源路由分为严格源路由松散源路由。严格源路由要求发送方要给出到接收方所途经的每个节点列表,而松散源路由则仅需要给出部分节点列表,在转发的过程中,经过这些给出的节点即可。

1.3 逐跳路由

可根据目的节点的个数不同,将路由分为单播路由和多播路由。

静态路由是指在一开始就根据实际测量或者估计的网络负载和拓扑结构,确定好路由选择,如何节点出现故障,静态路由无法做出及时的响应,适合于规模较小拓扑简单的网络。而动态路由则根据网络当前状态进行路由选择。

2.       透明网桥

目前大部分的网桥都是透明网桥。节点只需要填充帧的源MAC地址和目的MAC地址后将封装好的帧发送到局域网上,透明网桥可以负责处理不同局域网之间的帧的转发,因此称为透明网桥。

实现上,网桥内部需要维护一个转发表,转发表的表项给出了MAC地址以及对应的节点可以通过那个端口到达。

3.       Internet网络层

3.1 Internet设计原则

Internet将无连接方式的不可靠的网际协议(IP,Internet Protocol)作为核心部分,提供尽力而为的数据传输服务。网际协议IP给出了IP分组头部的格式,各个字段的含义以及主机和路由器如何处理IP分组。

       Internet的设计采用端到端的设计原则,端系统提供面向连接的可靠的、按序递交的TCP数据传输服务,以及不可靠的、无连接方式的用户数据报协议(UDP)数据传输服务。

       Internet同样可以分为数据平面和控制平面两个逻辑层面。数据平面负责完成IP分组的转发,控制平面主要对转发表进行维护。

3.2 IP(网际协议)

IP提供的是无连接方式尽力而为的数据传输服务,支持各种异构网络,通过全局的IP地址唯一标识网络中的节点,每个分组包括源地址和目的地址,源和路由器通过这些字段查找路由表来进行转发。

       由于动态选择路由,网络可能出现回路,因此需要为每个IP分组设置一个生命期字段,分组达到生命期就丢弃该分组。

       物理链路上允许通过的最大用户数据长度称为最大传输单元(MTU),比如一个以太网帧最多可以携带1500字节的数据,那么MTU为1500字节。当需要进行传输的IP分组的长度超过了该网络的MTU,那么就需要对IP分组进行分段,分段后的分组都包含源地址和目的地址,独立地通过物理网络进行传输,由接收方主机负责重组。

3.2.1 IP分组格式

IP分组的格式如下图所示,版本字段区分IPV4或者IPV6。TCP/IP分组格式采用大端模式,使用头部长度字段和总长度字段区分固定部分和用户数据,头部长度为4比特,即长度最大值为2^4 - 1=15 byte。总长度为16 bit,总长度最大值为2^16 – 1 = 65535byte。

IP头部还包含了服务类型字段(Tos),生命期字段(TTL),协议字段(TCP,UDP,ICMP等),头部校验和(检查消息是否出错)。可选字段中一般有记录路由选项、源路由选项和时间戳选项。

3.2.2 分段和重组

分段和重组需要解决三个问题:

n  源端和目的端之间要发送多少IP分组,如何确定哪个分组属于哪个原始IP分组?

n  分段是原始IP分组的哪个部分?

n  接收方如何知道所有的分段都已经到来?

IP分组的标识字段(16比特)可用于解决第一个第一个问题,它与源地址和目的地址共同标识一个原始的IP分组,每个IP分组分段后,都需要复制此标识字段。分段偏移(13比特)用于说明该分组携带数据在原始IP分组中携带的用户数据所处位置的偏移量。由于分组偏移为13比特,因此每个IP分组最多有2^13 = 8192个分段。

标志字段共有3比特,第一位没有使用,第二位称为DF,用于控制途中是否允许进行分段,第三位称为MF,前面的分段MF为1,表示后面还有分段,最后一个分段的MF为0.

3.2.3 IP地址

IP地址唯一地标识了一台主机或者路由器,IP地址包括网络号主机号,其中网络号标识该网络,主机号标识网络中的主机。由于物理网络可能具有不同的规模,为了合理利用地址空间,引入了IP地址类的概念。

n  A类地址可用于支持大规模物理网络,前8比特表示网络号部分(第一个比特固定为0),后24比特表示主机号部分,A类网络最大支持2^24 – 2台主机,IP地址范围为0.0.0.0~127.255.255.255(其中0.0.0.0和127.0.0.1留作特殊用途);

n  B类地址用于支持中规模物理网络,前16比特为网络号部分(前两个比特固定为10),后16比特作为主机号部分,因此B类网络可支持2^16-2台主机,IP地址范围为128.0.0.0~191.255.255.255;

n  C类地址用于支持小规模网络,前三字节为网络号部分(前三个比特固定为110),最后一个字节为主机号部分,一个C类网络最多支持254台主机。

n  D类地址为组播地址(前四个比特为1110),组播地址范围为224.0.0.0~239.255.255.255

n  E类地址的前五个比特为11110,保留将来使用,IP地址范围为240.0.0.0~247.255.255.255

A、B、C类IP地址的主机部分有两个取值具有特殊的含义:

一个是主机号部分全0,用于表示本网络,例如192.168.1.0;一个是主机号部分全1是一个广播地址,用于表示IP网络中的所有主机,例如192.168.1.255。对于32比特全部都为1的地址称为本地网络广播地址,受到目的地址为255.255.255.255的IP地址时表示要将该分组转发到链路上所有的TCP/IP主机中。127.0.0.0(localhost)被保留做回环地址,该回环地址可用于测试TCP/IP协议簇是否正常工作,也可用于不同进程间的通信。引入地址类以后,路由器可由IP分组中目的地址知道其是哪一类地址,从而只需要了解其他网络的位置,而不必了解每一台主机在互联网中的位置

3.2.4 子网和CIDR

一般一个较大的物理网络不可能同时连接非常多的主机,于是我们往往会采取将该物理网络B划分为多个小规模的物理网络,然后再把小规模物理网络连接在一起形成一个较大的互联网,从而按照所希望的方式对IP地址的主机号部分进行进一步划分,形成多个IP子网。一般IP子网对于B网络以外的主机是透明的,只有B网络内部的本地路由器知道IP子网的存在。也就是说,当外部Internet发送一个IP分组到连接B内部网络的路由器时,路由器可以依据IP分组的高位主机号确定子网编号,从而将相应IP分组发送到对应的IP子网。

有了子网技术以后,IP地址就由原来的网络号+主机号变成了三层结构,网络号+子网号+主机号。通常我们用网络掩码来对IP地址中的子网标识进行区分。网络掩码与IP地址一样,也是一个32比特的整数,主机号部分比特取0,其他部分比特取1。在引入子网以后,主机号部分全0或者全1表示子网对应的网络和子网中的所有主机

IP地址而言,最后的连续几个比特一般都是主机号部分,因此子网掩码也可以用/n来描述,其中n表示前n比特都是网络号部分,剩余比特表示主机号部分,例如255.0.0.0也可以记作/8。

进行子网划分时,主要分为固定长度的子网划分(所有子网支持的网络规模相同,容易造成IP地址空间的浪费)和变长子网划分两种方法。

由于A、B、C类地址的引入,C类地址的个数大约有200万个,如果Internet的主干路由都需要保存相应的路由表项,那么路由表将变得非常庞大,针对路由表的膨胀问题,提出了无类别域记路由的技术(CIDR,classless interdomainrouting)。其主要的思想在于把多个连续的地址块汇集成一个大的地址块,从而把原来的多个路由表项用一个路由表项来代替,从而缩小路由表的规模。例如,某公司申请了四个C类IP地址,192.60.128.0,192.60.129.0,192.60.130.0,192.60.131.0,192.60.132.0,192.60.133.0,由于这4个IP地址的前22比特都一致,那么可将其划分为22比特的网络号部分和10比特的主机号部分,网络掩码为255.255.252.0(/22)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值