《计算机网络》之网络层(通用6篇)由网友“鲍勃先森”投稿提供,以下是小编精心整理的《计算机网络》之网络层,供大家参考借鉴,希望可以帮助到有需要的朋友。
篇1:《计算机网络》之网络层
一、引言
首先,作为OSI七层模型的第三层,网络层向下覆盖了多种数据链路层标准,向上兼容多种运输层协议,而体系结构中的这一层却显得特别窄:基本上只有“IP”一项。网络层将多个局域网通过路由器互连,构成互联网,而向上提供简单灵活的、无连接的、尽最大努力交付的数据报服务(因特网的设计思路)。也就是说,网络层提供的是不可靠的交付。另外需要注意的是网络层提供的是数据报服务,而不是电信网络(拨打电话)的虚电路服务。
网络层广泛使用TCP/IP体系中的网际协议IP(Internet Protocol)。IP协议的作用是使互连起来的性能各异的网络在网络层上看起来好像是一个统一的网络,当IP网上的主机进行通信时,它们看不见各网络的具体异构细节。在介绍IP地址这个概念之前,我们先来思考两个问题。一是IP地址和硬件地址有什么区别。硬件地址(MAC地址)是仅在数据链路层和物理层使用的物理地址,而IP地址是网络层和以上各层使用的一种逻辑地址。第二个问题,为什么要有IP地址而不直接使用硬件地址呢?这是因为,全世界存在着各式各样的网络,它们使用不同的硬件地址。要使这些异构网络能够互相通信就必须进行非常复杂的硬件地址转换工作,因此由用户或用户主机来完成这项工作几乎是不可能的事。但统一且抽象的IP地址把这个问题解决了。它屏蔽了下层很复杂的细节,便于分析和研究问题。
与IP协议配套使用的还有四个协议(同属网络层):
(1)地址解析协议ARP(Address ResolutionProtocol) 将IP地址转换为物理地址(ARP请求分组、ARP响应分组)
(2)逆地址解析协议RARP(Reverse AddressResolution Protocol) 将物理地址转换为IP地址
(3)网际控制报文协议ICMP(Internet ControlMessage Protocol)
(4)网际组管理协议IGMP(Internet GroupManagement Protocol) 用于多播。
在本文剩下的内容中,我们将首先介绍IP地址的内容,再介绍如何利用IP地址进行路由,最后介绍RIP和OSPF这两个常用的路由选择协议,顺便提了一下ICMP和BGP。而IP多播和NAT(Network Address Translation)则彻底略去。
二、IP地址
好了,下面来介绍IP地址的特征。IP地址基本上经历了四个发展阶段:分类的IP地址——(由两级到三级)—→划分定长子网掩码的子网——(子网掩码不固定长度)—→变长子网掩码VLSM(Variable Length Subnet Mask)的子网——(无类,回到两级)—→无分类编址CIDR(ClasslessInter-Domain Routing)。总的来看,IP地址从有类到类别弱化,最后变成无类;从两级到三级,最后又回到两级编址。每个发展阶段的IP地址都有它自己的特点。
(1)分类的IP地址 此时IP地址由网络号和主机号组成,依据网络号的不同分为以下5类。
类别
范围
专用地址
不指派的地址
A
0~127 (0)
10.0.0.0~10.255.255.255
0(本网络) 127(环回测试)
B
128~191 (10)
172.16.0.0~172.31.255.255
128.0
C
192~223 (110)
192.168.0.0~192.168.255.255
192.0.0
D
(多播)
224~239 (1110)
E
(保留今后)
240~255 (1111)
(2)划分子网 此时IP地址由网络号、子网号和主机号组成。子网比较简单,这里不再赘述。不过有一个结论需要注意:划分子网增加了灵活性,但却减少了能够连接在网络上的主机总数。也就是说,利用率提高(减少空闲浪费),不过每个子网的子网号不能为全0或全1,这相比从前减少了能够分配的主机号数。可以看出每类网络能够分配的网络号比较复杂,是“范围”除去专用地址再除去不指派地址后剩下的。而每个网络可指派的主机号则好记得多,只是全0和全1的这两个主机号不能指派而已。其中,主机号全0代表“本网络”,全1代表本网络上的所有主机,即广播(Broadcast)。
(3)VLSM 在一个划分子网的网络中可同时使用几个不同的子网掩码,即可以构造“子网中的子网”。具体方法也不再赘述。
(4)CIDR 彻底消除有类地址和划分子网的概念,回归两级编址。此时IP地址由网络前缀和主机号组成。这里引入”斜线记法“(slash notation),如:128.14.35.7/20=1000000000001110 00100011 00000111. CIDR地址的聚合就是路由聚合(routeaggregation),也就是超网(supernetting)。超网的作用是减少路由器之间的路由选择信息的交换,从而提高了整个因特网的性能。
我们知道,前面的几个阶段是不可以使用全0和全1的子网号的,因为可能会出现诸如此类的矛盾:即对于一个子网号和主机号都为全0的IP地址(100.0.0.0 子网掩码255.192.0.0),我们不能确定它表示的是对一个“大网”(100.0.0.0 掩码255.0.0.0)的广播,还是对一个子网(100.0.0.0 掩码255.192.0.0)的广播,
在CIDR中,又可以使用全0和全1的子网号了,这是为什么呢?我询问了老师,他的解答是:判断是大网广播还是小网广播的关键是在于有没有子网掩码的辅助,早期子网划分中为了避免出现问题因而不建议使用全0或全1 的子网号,因为这个时候还是路由器上配置相应的子网掩码,可能有路由器不支持子网掩码;到了CIDR的时候其实对一个地址块描述的时候就必须要有掩码了,也就说大家都支持了,这个时候其实就不会出现由于没有掩码而出现的理解差异的问题了。按照老师的意思,CIDR的地址必须配备掩码,但IP数据报(见下节)中是没有专门的位置来存放掩码的,难道是将掩码统一存放在“可选字段”区吗?还希望知情人士给予解答。
三、IP数据报
下面简单介绍IP数据报的格式。图示如下。
值得注意的地方有四个。
(1)首部长度 共占4位,但其值的单位是4字节,显然最大为(24-1)×4=60字节。也就是说,IP数据报首部长度为20~60字节。
(2)总长度 共占16位,值的单位是1字节,指的是首部和数据之和的长度,也就是说,一个IP数据报最长为216-1=65535字节。实际的总长度还受数据链路层的“最大传送单元MTU(Maximum Transfer Unit)”限制,MTU一般小于1500字节。
(3)片偏移 共占13位,值的单位是8字节,指的是一个运输层分组经过分片后,产生的多个IP数据报中每个分片的数据部分的头部相对于原运输层整个分组的起点的位置。其实就是在这个分片前面分片的所有数据长度之和除以8(注意单位)。
(4)首部检验和 只检验首部,不检验数据部分。这里要与其他层的其他协议packet的检验内容区分开(MAC帧检验全部,RIP没有,OSPF检验全部,UDP和TCP也是检验全部)。采用的算法是二进制反码求和后取和的反码。关于“二进制反码(one’s complement)求和”要注意计算方法,其实就是有进位的相加,若最高位有进位就补加在最低位上。
四、路由
细节也不赘述。简单强调一下路由匹配顺序,也就是分组转发算法。①会首先判断目标网络地址是不是与自己直接相连的,来直接交付;②再看目标IP地址是不是路由表中的特定主机路由(即此IP地址的“高富帅VIP”路由记录),是的话就按此交付;③再看目标网络地址在不在路由表中(普通青年路由记录),是的话就按此交付;④最后看路由表中有没有一个默认路由(穷 丝路由记录),有的话就按此交付,否则就报告转发分组出错。
五、路由选择协议
网际控制报文协议ICMP就略过了,它允许主机或路由器报告差错情况和提供有关异常情况的报告,分为ICMP差错报告报文和ICMP询问报文。
具体的路由表是如何得到和维护的呢?这就需要路由算法。按照是自治系统AS(Autonomous System)内部的还是AS之间的,路由选择协议分为内部网关协议IGP(Interior Gateway Protocol)和外部网关协议EGP(ExternalGateway Protocol)。IGP中最常用的有路由信息协议RIP(Routing InformationProtocol)和开放最短路径优先OSPF(Open Shortest PathFirst)。它们的特点如下表。
RIP
OSPF
相同点
性质
①都是IGP
②都是要寻找一条最短路径(Short Path First)
性能
③RIP2和OSPF都有鉴别功能(仅在可信赖的路由器间交换路由信息)
④RIP2和OSPF都支持VLSM和CIDR
不同点
性质
①使用分布式的基于距离向量的路由选择协议
①使用分布式的基于链路状态的路由选择协议
②只维持路由表
②维持一个本AS一致的链路状态数据库(AS拓扑图),和由此得出的路由表
③使用UDP传送
③直接用IP数据报传送
交换
④仅和相邻的路由器交换信息
④向本AS/area中所有的路由器用洪泛法(flooding)发送信息
⑤按固定时间间隔交换信息
⑤只有当链路状态发生变化时才发送信息
⑥发送自己的全部路由表
⑥只发送与相邻路由器的链路的状态
性能
⑦好消息传播得快,而坏消息传播得慢(收敛慢)
⑦收敛快
⑧限制网络规模(长度15)
⑧规模很大(将AS分成区域area)
⑨实现简单,开销较小
⑨原理简单,实现复杂
⑩对不同类型的业务可根据metric计算出不同的路由,灵活性高
⑪拥有负载平衡(load balancing)功能
可以发现,RIP是使用UDP协议传送的,具体是将RIP报文加上UDP头部作为UDP用户数据报,然后再加上IP首部作为IP数据报的。这里网络层的协议使用到了运输层的协议,这个异常举动我一直没想明白。首先是不明白为什么要使用UDP数据报;其次是这样会不会影响到计算机网络体系结构的分层原则,反倒让上层为下层服务了;最后是路由器是不是也因此具有运输层的部分功能了,而不是一个纯粹的第三层设备了?还希望跟大家讨论这个问题。
篇2:《计算机网络》之物理层
一、引言
物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体(如双绞线、同轴电缆、光缆、无线信道等),传输媒体可以看作“第0层”。
二、信道的极限信息传输速率
信号进过调制(modulation)后在信道上传输。关于信道的极限容量,有两个公式:
(1)Nyquist公式:
式中,C为传输率(b/s),W为带宽(Hz),M为信号编码级数,
它给出了在假定的理想条件下,为了避免码间串扰,码元的传输速率的上限值。
而在现实环境中,还有另外一个很重要的因素需要考虑,那就是噪声。基于此,Shannon给出了下面的公式。
(2)Shannon公式:
式中,S/N为信噪比——信号的平均功率和噪声的平均功率之比。
此公式的意义在于,只要信息传输速率低于信道的极限信息传输速率,就一定可以找到某种办法来实现无差错的传输。
篇3:《计算机网络》之概述
《计算机网络》之概述
一、写在前面
“计算机网络”系列文章共有六篇,分别是《概述》、《物理层》、《数据链路层》、《网络层》、《运输层》和《应用层》,其中,“运输层”又叫“传输层”,在此系列中统一称作“运输层”。本系列按照谢希仁编著的电子工业出版社出版的《计算机网络(第5版)》写成,内容主要是本人在以此本书为教材学习过程中的总结和体会,主要供已经学习过此门课程的同学期末和考研复习之用。如果没有基础的话,最好还是参考一本教材,如《计算机网络》(潘爱民)、《计算机网络》(谢希仁)、《TCP/IP详解卷1:协议》(范建华)等经典书籍。
计算机网络的体系结构主要有三种:开放系统互连基本参考模型OSI/RM(Open Systems InterconnectionReference Model)的七层协议、TCP/IP的四层协议和便于学习的五层协议(如下图所示)。本系列采取与课本一样的五层协议。
最后,希望我在期末考试结束后总结的这一系列文章能够对大家和我自己今后对计算机网络体系结构的学习有帮助。因本人水平有限,文中难免可能有错误和不全的地方,还希望大家不吝赐教,予以改正和补充。
二、因特网
因特网是世界上最大的互连网络。网络把许多计算机连接在一起,而因特网则把许多网络连接在一起。因特网的发展分为三个阶段:从单个ARPANET到互连网、建成三级结构因特网(主干网、地区网和校园网)、形成多层次ISP(Internet Service Provider)结构的因特网。
因特网划分为边缘部分(主机)和核心部分(网络和路由器)。边缘部分的端系统本质上都以客户服务器(C/S)方式通信。客户是服务请求方,服务器是服务提供方。
客户程序有两个特点:主动向服务器请求服务(必须知道服务器程序的地址)、不需要特殊的硬件和很复杂的操作系统。服务器程序有三个特点:可同时处理多个客户的请求、被动等待通信请求(不需要知道客户程序的地址)、一般需要强大的硬件和高级的操作系统支持。
因特网采用分组交换(存储转发)技术,
三、计算机网络
计算机网络最简单的定义是:一些互相连接的、自治的计算机的集合。按照不同作用范围,计算机网络可分为以下四种:
(1)广域网WAN(Wide Area Network) 又称远程网(longhaul network),任务是通过长距离运送主机所发送的数据;
(2)城域网MAN(Metropolitan AreaNetwork) 一般采用以太网技术,用来将多个局域网进行互连;
(3)局域网LAN(Local Area Network) 范围较小;
(4)个人区域网PAN(Personal Area Network)常称为无线个人区域网WPAN(Wireless PAN),用无线技术,范围大约10m左右。
计算机网络的性能指标有以下七个常用的:速率(b/s)、带宽(b/s)(通信线路能力)、吞吐量(b/s)(即时)、时延(s)(发送+传播+处理+排队)、时延带宽积(b)(传播时延×带宽)、往返时间RTT(Round-TripTime)(s)、利用率。
网络协议(network protocol)是为进行网络中的数据交换而建立的规则、标准或约定。由语法、语义、同步三要素组成。协议的分层有以下好处:各层之间是独立的、灵活性好、结构上可分割开、易于实现和维护、能促进标准化工作。
协议与服务的区别是,协议是“水平的”,即是两个对等层进行通信的规则集合。而服务是下一层向上一层提供的,本层的协议使得本层能够向上层提供抽象的服务。
计算机网络的体系结构是计算机网络各层及其协议的集合,也就是这个计算机网络及其构件所应完成的功能的精确定义。
最后来从上往下简单介绍一下五层协议的各层。
(1)应用层(applicationlayer) 直接为用户的应用进程提供服务;
(2)运输层(transportlayer) 负责向两个主机中的进程之间的通信提供服务。主要有可靠的传输控制协议TCP(Transmission Control Protocol)和不可靠的用户数据报协议UDP(User Datagram Protocol);
(3)网络层(networklayer) 负责为分组交换网上的不同主机提供通信服务;还负责选择合适的路由。网络层把运输层的报文段封装成分组/包(packet);
(4)数据链路层(data linklayer) 在两个相邻节点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(frame),在两个相邻节点间的链路上“透明”地传送帧中的数据;
(5)物理层(physicallayer) 任务是透明地传送比特流。
篇4:TCP/IP系列之网络层IP协议
TCP/IP系列之网络层IP协议
当数据要在网际直接传输的时候,路由器根据IP数据报进行路由.
当一台主机要发送数据的时候,其目的主机一般为局域网内的主机或者网外的主机.
如果是局域网内的主机,主机发送的以太网帧的头部目的mac地址为目的主机的mac地址,不需要路由.
如果是网外的主机,则将数据发到默认的网关,由网关路由器进行路由到目的主机,主机发送的以太网帧
头部的目的mac地址为网关的mac地址.
IP数据报的协议规定的数据报格式如下图:
IP协议不保证送达,不保证顺序.可靠性由上层协议保证.上层协议如TCP,UDP的信息在IP数据报的数据部分.
下图是通过Wireshark抓取的一个数据包:
路由器就要通过ip包的信息来为ip包寻找到一个合适的目标来进行传递,比如合适的主机,或者合适的路由.路由器或者主机将会用如下的方式来处理某一个IP数据包
如果IP数据包的TTL(生命周期)以到,则该IP数据包就被抛弃.
搜索路由表,优先搜索匹配主机,如果能找到和IP地址完全一致的目标主机,则将该包发向目标主机 搜索路由表,如果匹配主机失败,则匹配同子网的路由器,这需要“子网掩码(1.3.)”的协助.
如果找到路由器,则将该包发向路由器. 搜索路由表,如果匹配同子网路由器失败,则匹配同网号路由器,如果找到路由器,则将该包发向路由器.
搜索路由表,如果以上都失败了,就搜索默认路由,如果默认路由存在,则发包
如果都失败了,就丢掉这个包.
作者 kkdelta
篇5:OSI网络层基本功能
网络层需要执行4个基本任务——用IP地址编址、封装、解封装、路由,其中前三项都很容易理解,路由是最复杂的部分,也是最有技术含量的部分。
一、将主机分组
网络很像社会的,为了便于管理会按一定的特点将主机进行分组。分组的时候参考三个方面:
1、地理位置
2、 特定用途——不同用途的主机对网络的要求是不一样的,例如电子商务和艺术设计。
3、 所有权——处于安全性方面的考虑。
二、将主机划分为网络的好处
随着网络规模的壮大,也会产生一些列的问题,例如:性能下降、安全问题、地址管理。将网络划分为多个相互连接的小型子网至少可以部分缓解这些问题。
1、 提高性能——例如将不同属性的主机分为不同的小网络,利于实现广播,
2、 安全性——就是按权限划分网络带来的好处。
3、 实现层次编址——地址分为两部分,网络地址和主机地址,其中网络编址又可分为3层,层次编址也提高了路由的效率。
三、(默认)网关:网络的出口
可以类比海关。作为设备参数,每台主机都有指定的默认网关地址。网关实质上是一个网络通向其他网络的IP地址(有路由功能的机器的IP地址)。当进行数据包传输的时候,网络中的主机认识自己网络中得设备的地址,如果需要向外网传输数据包,那么主机不认识目的地址,所以将数据包发给默认网关。
主机具备一个网卡只能有一个网关。
四、路由
路由定义:路由器负责对到达网关接口的每个数据包做出转发决定。这个转发过程就成为路由。
路由器路由表:路由表中的路由有三个主要特点:目的网络、下一跳、度量(跃点数)。可以通过路由器的控制台使用show ip route命令查看路由表。
主机路由表:命令route print或netstat –r可以查看主机的路由表。
篇6:计算机网络读书笔记之引言
计算机网络读书笔记之引言
大量相互独立的计算机彼此连接起来,组成计算机网络,
关于计算机网络,可以从传输技术和网络尺度进行分类。
1,传输技术有两种,广播式链路和点到点链路。
点-点传输只有一个发送方和一个接收方,有时候也成为单播(unicasting).
网络中每一台机器都会收到数据的传输方式,称为广播。
给一组机器发送数据包的模式,称为组播。
2,网络尺度,包括个域网,局域网,城域网,互联网。
为了降低网络设计的复杂性,绝大多数网络都组成一个层次栈( a stack of layer)或分级栈(a stack of level),每一层都建立在其下一层的基础之上。
所谓协议,是指通信双方就如何进行通信的一种约定。
不同机器上构成相应层次的实体称为对等体(peer)。
层和协议的集合称为网络体系结构(network architecture).网络体系结构的规范必须包含足够的信息,以便实现者为每一层编写的程序或者设计的硬件能遵循有关的协议。
一个特定的系统所使用的一组协议,即每一层一个协议,称为协议栈。
计算机网络层次设计问题
1,可靠性。包括检错和纠错两大问题。
2,网络演进,新的设计要与现有网络连接。由于网络上有许多计算机,每一层在特定的消息中都需要一种机制来标识发送方和接收方。这种机制在下层和高层分别称为寻址和命名。
3,资源分配。统计复用、流量控制、拥塞、实时、服务质量。
4,网络安全。保密性、认证、完整性。
面向连接的服务是按照电话系统建模的。发送方吧对象(数据位)压入管道的一端,接收方在管道的另一端把它们取出来。
无连接服务是按照邮政系统建模的。
一个服务由一组原语正式说明,用户进程通过这些原语(操作)来访问该服务。
LISTEN 阻塞操作,等待入境链接请求
CONNECT 与等待中的对等实体建立连接
ACCEPT 接受来自对等实体的入境连接请求
RECEIVE 阻塞操作,等待入境报文
SEND 给对等实体发送一个报文
DISCONNECT 终止一个连接
服务与协议的关系
服务是指某一层向它上一层提供的一组原语,
服务定义了该层准备代表其用户执行哪些操作,但是它并不涉及如何实现这些操作。协议时一组规则,规定了同一层上对等实体之间所交换的数据包或者报文的格式和含义。对等实体利用协议来实现它们的服务定义,它们可以自由地改变协议,只要不改变呈现给它们用户的服务即可。
值得用编程语言来对这两个概念作一个类比。服务就好像是面向对象语言中的抽象数据类型和对象,它定义了在对象上可以执行的操作,但是并没有说明如何实现这些操作。而协议与服务的具体实现有关,它对于该服务的用户是完全不可见的。
OSI开放系统互联参考模型。
物理层,关注在一条通信信道上传输的原始比特。
数据链路层,将一个原始的传输设施转变成一条没有漏检传输错误的线路。
网络层,控制子网的运行。如何将数据包从源端路由到接收方。
传输层,接收来自上一层的数据,在必要的时候把这些数据分割成较小的单元,然后把这些数据单元传送给网络层,并且确保这些数据单元正确到达另一端。
会话层,允许不同机器上的用户建立会话。
表示层,关注所传递信息的语法和语义。
应用层,它包含了用户通常需要的各种各样的协议。
TCP/IP模型
应用层 HTTP SMTP RTP DNS
传输层 TCP UDP
互联网层 IP ICMP
链路层 DSL SONET 802.11 Ethernet
TCP/IP参考模型的评价
第一,该模型并没有明确区分服务、接口和协议的概念。
第二,它一点也不通用,它并不适合于用来描述TPC/IP以外的任何其他协议栈。
第三、在分层协议的上下文中,链路层并不是通常意义上的一层。它是一个接口(位于网络层和数据链路层之间),而接口和层的区别非常重要。
第四、它并没有区分物理层和数据链路层。
第五、尽管IP和TCP协议进行了仔细设计,并且很好地实现了,但是还有很多其他地方协议是自主形成的。
★ 网络基础知识总结
★ 计算机网络试题
【《计算机网络》之网络层(通用6篇)】相关文章:
路由汇聚&虚链路2022-05-08
讲解交换机技术的独门绝技2023-02-20
应用视点:解析三层交换机实际应用2022-05-06
出入网络之间作文2022-10-02
网络监听技术概览2023-05-17
基于智能体服务的云计算架构分析论文2023-05-27
更快的网络与TCP慢启动机制2022-05-08
控制协议2022-05-04
情绪管理课心得2022-11-01
WINDOWS 下重新安装TCP/IP协议2022-10-05