网络和Linux网络_1(网络基础)网络概念+协议概念+网络通信原理

目录

1. 网络简介

1.1 独立模式和互联网络模式

1.2 局域网LAN和广域网WAN

2. 协议和协议分层

2.1 协议的作用

2.2 协议分层

2.3 OSI七层模型

3.2 TCP/IP四层(五层)模型

3. 网络通信原理

3.1 协议报头

3.2 局域网和解包分用

3.3 广域网和跨网络

4. 网络中的地址

4.1 MAC地址

4.2 IP地址

5. 笔试选择题

答案及解析

本篇完。


1. 网络简介

我们当今生活在互联网时代,每天都在使用网络,那么网络到底是什么呢?

计算机就是一种网络。

如上图所示计算机示意图,在计算机内部存在很多模块,比如CPU,显卡,磁盘,网卡等等。这些不同的模块协同工作,一台计算机才能够正常运行。

多个模块之间势必会有数据等信息的传送,而这些信息是通过各个模块之间的线传送的,这些线通常都是各种各样的总线,但是线是实实在在存在的,是在物理上存在的。

各个模块以及线就形成了一个网状结构,被叫做网络。

一台计算机就可以看作是一个小型的网络,所以在画网络示意图的时候,经常使用计算机来代表网络。


1.1 独立模式和互联网络模式

独立模式:计算机之间相互独立:


如上图所示,此时有3台计算机A,B,C,每台计算机上都有各自的客户数据,并且每台计算机所处理的任务也不相同。

此时有小松,小竹,小梅三个人来协同完成处理客户数据的任务,当小松在计算机A上运行1的时候,可以移动到计算机B上运行业务2,之后可以移动到计算机C上运行业务3。

而在小松操作计算机的时候,另外两个人只能静静的等待小松处理完,然后才能轮到自己去使用计算机完成任务。

上面例子中,虽然安排了3个人在完成任务,但是三个人之间并没有协作,而且还存在计算机的竞争,效率低下。

计算机是为人服务的。
人和人之间是要进行协作的。
所以计算机之前势必也要进行协作。

计算机之间是不能之间传送数据的,在物理上就不允许,要想让计算机之间互相传送数据进行协作,就需要用线将计算机连起来,让不同的计算机之间通过线来互相传送数据。

连接计算机之间的线就被叫做网线。


互联网络:多台计算机连接在一起,进行数据共享:

此时,用网线将三台计算机连起来,并且再将一个业务1~3使用到的服务器也和它们连接起来。

此时小松,小竹,小梅三个人就可以各自使用一台计算机,从服务器中拿取自己业务所需要的数据进行处理,当三人各自完成自己的工作时,整个任务也就完成了。

这就是互联网络模式,在这种互联网络模式下,业务1,2,3不仅能够随时自由切换,而且可以通过服务器实现数据共享,实现了高效的协作工作。


1.2 局域网LAN和广域网WAN

局域网LAN(local area network):计算机数量更多了,通过交换机和路由器连接在一起:

路由器左边的计算机通过网线以及交换机连接在了一起,实现了互相之间数据的直接传送。同样,路由器右边的计算机也可以直接传送数据。

路由器左边或或者右边的计算机各自单独看来都属于局域网,两个小的局域网通过路由器连接在一起,如上图黑色框中所示,就形成一个大的局域网。

局域网之内的计算机之间可以之间传送数据。


广域网WAN(wide area network):将远隔千里的计算机都连接在一起:

如上图所示,将每个城市中由计算机和网线组成的局域网通过路由器相连,实现不同局域网之间的数据传送。

比如东京和洛杉矶距离相隔千里,但是它们却通过网络连接在了一起,可以进行数据传输。

由不同局域网组成的这个大“局域网”就叫做广域网。

根据上面介绍可以看出,所谓“局域网”和“广域网”只是一个相对的概念,可以将一个国家多个城市组成的广域网看做是这个国家的局域网。不同国家之间形成的广域网,可以看作地球的局域网。


2. 协议和协议分层

假设在以前,你要去上大学了,但是没有手机,而且家里也只有一个座机,为了节省电话费,你在走之前和父母做了个约定:

当家里的座机响一声,说明你很好,不用它们担心。
当家里的座机响两声,说明你没钱了,需要服务给你通过信用社或者邮寄打钱。
当家里的座机响三声,说明你有其他事情,需要你父母接起电话来和你交流。
你和父母双方之间做的约定,就是协议。

计算机之间的传输媒介是光信号和电信号,通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息,要想传递各种不同的信息,就需要约定好双方的数据格式。

比如收到1表示对方开始发送数据,这一位之后的内容就是对方要发送的数据。
再收到0表示对方接收发送数据,这一位之后的内容并不是对方要方式的数据,可以舍弃掉。
在计算机之间也是一样,协议就是一种约定,双方之间无需解释就知道的约定。

只要通信的两台计算机之间约定好协议就可以进行通信了吗?

再比如,两台计算机之间约定好了,收到”落霞与孤鹜齐飞“,就回复”秋水共长天一色“,但是,一台计算机的用户是个外国人,他给你发了”Falling clouds and solitary ducks flying together(落霞与孤鹜齐飞)“,此时他并没有违背协议,只是用的语言不一样,但是还是根据协议来的。

那么你收到这句话后,该按照他遵守协议回复”秋水共长天一色“呢,还是不搭理他呢?

除此之外,计算机的生产厂商也有很多,计算机的操作系统也有很多,计算机的网络硬件设备也有很多,计算机的之间通过网络进行通信,虽然都按照一定的协议进行,但是表现方式确有可能不同,此时就会导致混乱,所以就很有必要规定必须使用中文,或者必须使用英文。

在网络通信中,有人就站出来约定了一个共同的标准——网络协议所有进行网络通信的计算机之间必须按照这个网络协议来进行。

这里仅是理解网络协议是什么,具体的协议内容再之后会详细讲解。


2.1 协议的作用

如果通信双方距离比较近,仅有10m,那么通信双方的障碍就比较小,通信的内容也不容易出错,就好比两个人面对面聊天,说的话可以很清楚的传递给对方。

而在网络中,通信双方的距离会很远,就会引入很多障碍,也就是通信问题,比如信号在传输过程中受到的各种干扰,导致信号丢失一部分,或者多了一些干扰信号。

所有网络问题的本质:传输距离变长了。

就好比两个人之间相隔一千米,说的话就很难让对方听清楚,就算是喊的声音非常大,也会由于声波的衰减以及各种空气的阻力,导致很难直接交流。

而此时通信双方通过协议来通信就可以很大程度上客服远距离传输带来的问题,可以很大程度上减少通信成本。

对于上面打电话的例子,电话铃声响不同的声数代表不同的意义,响一声和两声的时候都不用接通电话,还省了电话费。

在计算机的网络通信中,协议同样可以降低通信成本。

协议的作用就是为了降低通信成本。


2.2 协议分层

如上图所示,两个人在通过座机打电话,通话的流程,双方建立联系后:

A对着电话说话,电话将A的信息采集到。
再将采集到的信息传给C的电话。
C的电话再将从A的电话传过来的信息放给C听。
对于打电话的A和C来说,他们认为自己是直接和对方通话的,而对于两台电话机来说,它们认为是它两之间互相传递信息的。

这样一来,就将整个通话的过程分为了两层:

① 语言层,A和C。
② 通信设备层,A的电话机和C的电话机。


这两层的每一层都有各自的协议,

对于语言层,通话双方是汉语协议,两人使用汉语来交流,可以互相明白对方的意思。

对于通信设备层,双方是电话机协议,两台电话机通过接收约定好的信号来做出不同的反应。

如上图右下箭头指向的内容,现在两个说汉语的人变成了两个说英语的人,两人之间同样可以进行通话,仅是语言层的协议从汉语变成了英语,通信设备成不需要改变。

再如上图左下箭头指向的内容,不再使用电话机通话,而是使用手机来通话,此时仅是电话协议变成了无线电协议,语言层不需要改变,仍然使用汉语协议。

当两层中的某一层发生改变时,并不影响另一层。这个例子中,协议只分两层(语言层和通信设备层),在实际的网络通信中,分的层数更多,情况也更复杂。


对分层的理解:

  • 在软件设计方面的优势:低耦合,某一层发生变化并不影响其他层。
  • 分层的依据:功能比较集中,耦合度比较高的模块就可以分为一层 -> 高内聚。
  • 每一层都要解决特定的问题。

在网络通信中,通信双方要解决的问题有什么呢?

  • 如何把数据交付给和自己直接相连的下一台主机。
  • 要有路径选择的能力,因为网络通信过程中存在很多节点。
  • 容错纠错的能力,当通信信息发送错误时,能够处理。
  • 当信息递达以后,具体的应用问题。

2.3 OSI七层模型

OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范。


OSI模型共分为上图所示的七层,每一层都有自己的作用,并且有对应的协议。

  • 把网络从逻辑上分为了7层.,每一层都有相关和相对应的物理设备,比如路由器,交换机。
  • OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输。
  • 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;

我们学习的网络编程中,不用考虑物理层,因为这是底层电路的事情,上面的六层都要学习。

5,6,7三层到目前为止都没有完全统一的协议标准,因为情况复杂多变,所以将这三层都归于应用层。


3.2 TCP/IP四层(五层)模型

TCP/IP模型也遵循OSI规则,但是就像上面说的,将上三层合并成了一层,叫做应用层,所以还剩下五层,再加上不考虑物理层,剩下的就是四层。

在后面的学习中,如果没有特别说明物理层,那么TCP/IP模型就只有四层。

从上往下看看这五层的作用分别是什么(后面的学习也从上往下学):

应用层: 负责应用程序间沟通,如超文本传送协议(HTTP)、超文本传输安全协议(HTTPS)、简单邮件传输协议(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。


传输层: 负责两台主机之间的数据传输,如用户数据协议(UDP)、传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机,也就是有容错纠错的能力。


网络层: 负责地址管理和路由选择。

例如在IP协议中, 通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由), 路由器(Router)工作在网络层。

背景知识:

路由器:作用就是用来进行路径规划,因为网络通信中,一台计算机发送信息到另一台计算机的信息传递过程中,路径上会有很多的节点,而通过路由器规划后,信息就能准确的发到另一个计算机上。


数据链路层: 负责设备之间的数据帧的传送和识别。

例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。

有以太网、令牌环网, 无线LAN等标准,交换机(Switch)工作在数据链路层.

背景知识:

以太网:“以太”是一种很久以前猜想宇宙存在的介质,后被推翻。(后来计算机界以此命名来“致敬”物理界)

如上图所示的局域网中,存在多台计算机,采用的网是以太网。

  • 以太网在任何一个时刻只允许一台计算机在局域网中发送消息,否则发生碰撞,此时的局域网也被叫做碰撞域,发生碰撞后局域网中的信息都舍弃,然后计算机重新发送信息。
  • 令牌环网:在局域网的中存在一张令牌,只有持有令牌的计算机才能在局域网中发生消息,这张令牌是在所有计算机之间传递的,和信号量类似。
  • 以太网,令牌环网等是一种局域网中计算机之间的通信规则,相当于不同的通信协议。
  • 局域网是一种共享资源,局域网中的所有计算机都能看到,所以在局域网中传输信息也需要互斥。
  • 交换机:局域网中的所有计算机都是通过交换机互相建立链接的,所以和计算机直接相连的设备就是交换机。

物理层: 负责光/电信号的传递方式。

比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。

物理层的能力决定了最大传输速率、传输距离、抗干扰性等,集线器(Hub)工作在物理层。

背景知识:

  • 集线器:信号在传送的过程中会衰减,集线器的作用就是将衰减的信号再次放大。
  • 调制解调器:俗称(光),它的作用就是将网线传过来的模拟信号转换成数字信号来供我们的联网设备通信。
  • 物理层的设备都是由运营商来维护的,是它们将信号基站遍布全球的,所以网络通信才能在大范围实现。

抛开物理层的层中,数据链路层,网络层,传输层在干的工作就是将信号从一台计算机传送到另一台计算机。

应用层就是具体使用已经接收到的数据,属于应用,我们网络编程就是在这一层。

如上图,将TCP/IP模型和OSI模型进行对比,可以看到,OSI的上三层在TCP/IP中都归为应用层。TCIP/IP中的网卡层就是数据链路层。

对照Linux系统层次:

  • 数据链路层是驱动层。
  • 网络层和传输层是内核层,具体的实现是由Linux内核实现的,同样会提供相应的系统调用接口供我们调用。
  • 应用层就是具体的代码逻辑了。

一般而言

  • 对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容
  • 对于一台路由器, 它实现了从网络层到物理层
  • 对于一台交换机, 它实现了从数据链路层到物理层
  • 对于集线器, 它只实现了物理层
但是并不绝对 . 很多交换机也实现了网络层的转发 ; 很多路由器也实现了部分传输层的内容(比如端口转发 )。

3. 网络通信原理

3.1 协议报头

假设小明在网上买了一个水杯,这个水杯并不是商家直接给到小明手里的,它需要经历以下几个步骤:

  1. 商家将它打包好,交给快递公司。
  2. 快递公司贴上快递单,然后发在小明填的地址附近的快递点。
  3. 快递点通知小明,小明去快递点拿。

小明拿到水杯的时候,它不仅仅只有一个水杯,还会多出来一些东西,比如包装盒,以及上面贴着的快递单。

多出来的快递单就相当于协议报头。

快递单上写着小明的地址,姓名,联系电话等信息,快递站根据这些信息就可以将水杯送到小明手里。

快递单上的信息对于快递站来说就是一种协议,这是快递公司指定的协议,快递点只需要按照协议上的信息联系小明就行。

  • 网络通信中,协议每一层都有,而每一个协议的最终表现就是协议要有协议报头。
  • 协议通常是通过协议报头来表达的。
  • 每一份数据在被发送或者处于不同的协议层中,都要有自己的报头。

3.2 局域网和解包分用

局域网中的两台计算机之间可以直接通信,不需要通过路由器。

上图局域网中存在两台计算机进行网络通信,使用的是TCP/IP模型。

报文 = 报头 + 有效载荷,在不同的层,有效载荷和报头都是不同的。

用户A发送你好:

  • 字符串“你好”先被交给应用层,应用层在“你好”前面加一个协议报头,如上图所示的圆圈。
  • 应用层再将加了报头的报文交给传输层,传输层再在前面加一个协议报头,如上图所示的四角星。
  • 传输层再将加了报头的报文交给网络层,网络层再在前面加一个协议报头,如上图所示的六角星。
  • 网络层再将加了报头的报文交给数据链路层,数据链路层再在前面加一个协议报头,如上图所示的云朵。
  • 链路层再将加了报头的报文交给物理层,也就是局域网。

接收的过程中,每一层中的协议和发送方每一层的协议是相同的,从用户B的物理层接收到报文到用户收到“你好”的过程叫做解包分用

  • 解包:将对应层中报文的协议报头去掉。
  • 分用:将解包后的有效载荷交给上一层对应的协议,因为每一层中存在不只一个协议。

在局域网通信的过程中,封装是上层传送给下层,解包分用是下层传送给上层,但是对于每一层而言,可以看作是层与层之间的直接通信,因为它们的协议都是一样的。

衡量一个协议是否可用,就看他能不能解决两个问题:

  • 如何判断哪里是报头,哪里是有效载荷?
  • 如何判断自己的有效载荷要交给上一层的哪一个协议?

数据包处于不同的协议层,它的名称也不一样:

所在层数据名称
传输层数据段
网络层数据报
链路层数据帧

3.3 广域网和跨网络

跨网络通信也就是“广域网”,需要通过一个或者多个路由器来实现。

如上图所示是两台处于不同局域网中的计算机进行网络通信,这里不再考虑物理层。

用户A发送你好,用户B接收你好:

  • 对“你好”进行封装,直到以太网的链路层
  • 以太网的链路层将报文进行解包,去掉以太网协议的报头,将剩余下的有效载荷交给路由器
  • 路由器再将报文封装,加上令牌环网协议的报头,再将报文交给令牌环网的链路层
  • 链路层进行解包和分用,最终将“你好”交给用户B。

可以看到,在路由器中实现了一次重新封装,将以太网的报文进行解包分用,将有效载荷交给路由器,路由器封装成令牌环网的报文。

  • 可以认为路由器中有两张网卡,也就是两个网络接口。
  • 以太网的网卡接收来自以太网解包分用后的有效载荷,令牌环网的网卡将报文封装加上令牌环网的报头,并交给链路层。

报文在路由器中的身份是数据报,也就是没有链路层的报头。

路由器的作用之一就是屏蔽底层网络的差异

在跨网络通信中,同一层协议可以认为是在直接通信,虽然实际上是有封装和解包分用的过程,但是由于同一层的协议相同,所以就可以认为是在直接通信。

路由器同时处于两个局域网中。

上图所示是两个跨很多个网络的计算机在进行通信的示意图,报文从用户A开始向下封装,再经过多个路由器的解包分用以及封装,最后从用户B的物理层解包分用,传递到用户A处。

  • 路由器处于网络层,所以网络层之下的也都有,所以它包括两层(不算物理层)。
  • 集线器处于链路层,所以它包括一层(不算物理层)。

再来看看数据封装更实际点的过程:(后面会具体学习)

数据分用更实际点的过程:


4. 网络中的地址

4.1 MAC地址

  • 局域网中的每一台计算机都有自己的名字

局域网中计算机的名字可以理解为,每台计算机都有一个网卡,而每张网卡都有一个独一无二的序列号,表面自己在局域网中的唯一性,这个序列号就被叫做MAC地址一台计算机可以绑定多个网卡,进而可以拥有多个MAC地址。

使用ifconfig指令就可以看到当前机器的MAC地址,在xshell输入ifconfig

ether表示以太,在它后面的由冒号隔开的6个16进制数就是MAC地址。

  • MAC地址用来识别数据链路层中相连的节点。
  • 长度为48位, 及6个字节, 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
  • 在网卡出厂时就确定了, 不能修改,mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突,也有些网卡支持用户配置mac地址)。
  • MAC地址用来识别数据链路层中相连的节点

全球范围内计算机的MAC地址都是独一无二的,但是它仅用在局域网中。

一台计算机在寻找与它直接相连的另一计算机时,靠的就是MAC地址。


4.2 IP地址

  • 在整个广域网中,每一台计算机也有自己的名字

广域网中有非常多的路由器,基站,仅靠MAC地址是无法路由的,所以每台计算机都有一个IP地址来标识它的唯一性,这个IP地址就是计算机在广域中的名字。

inet后面的由冒号隔开的几个16进制数就是IP地址。

  • IP地址是在IP协议中, 用来标识网络中不同主机的地址。
  • 对于IPv4来说, IP地址是一个4字节, 32位的整数。
  • 我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ,用点分割的每一个数字表示一个字节, 范围是 0 - 255。

IP协议有两个版本, IPv4和IPv6,后面凡是提到IP协议, 没有特殊说明的, 默认都是指IPv4。


如何理解这两套地址呢?

如上图所示,是网络通信时,报文从用户A到用户B的流向示意图。

计算机和路由器中都有物理层,也就说都有网卡,所以就都有MAC地址,并且它们的地址不一样,

  • 用户A的IP地址被叫做源地址
  • 用户B的IP地址被叫做目的地址

在报文从用户A走向用户B的过程中:

  • 报文先从MAC地址为12:34:56:78:9A:BB处走向MAC地址为12:34:56:78:9A:BC的路由器处。
  • 然后再走下MAC地址为12:34:56:78:9A:BD的路由器处。
  • 如此下去,沿着MAC地址直接相连的路由器走下去,直到用户B的MAC地址。

在这个过程中,MAC地址是在不停变化的,而源IP地址和目标IP地址是没有变化的。

每个路由器中,都会根据源IP地址和目标IP地址规划路线,给出下一个路由器的MAC地址,使得报文越来越接近目标。

IP地址就相当于报文传送过程中的灯塔,在指引着方向,MAC地址就是报文途中经过的地点,具体指引下一步的走向


5. 笔试选择题

1. 下列不属于传输层的协议是()

A.TCP

B.UDP

C.SMTP

D.OSPF

2. 【多选题】以下关于网络协议分层理解正确的是()

A.网络协议分层使网络使用更加复杂,不利于人们的使用

B.OSI模型分为 7层,自下而上为,物理层,数据链路层,传输层,网络层,会话层,表示层,应用层

C.网络协议分层后每层利用紧邻的下层服务,更容易记住各层的功能

D.人们可以很容易的讨论和学习协议的规范细节

3. 以下关于网络协议分层说法不正确的是()

A.表示层一项重要的工作就是网络标准数据格式的转换

B.会话层负责管理传输层以下的分层

C.数据链路层是地址管理和路由选择

D.传输层管理两个节点之间的数据传输

4. 计算机技术和()是计算机网络产生于发展的两个最基本的因素

A.电话

B.通信协议

C.线路

D.各种协议

5. 用于域名解析的协议是()

A.HTTP

B.DNS

C.FTP

D.SMTP

6. ICMP报文通过()协议来传输

A.UDP

B.TCP

C.IP

D.ARP

7. 在OSI模型当中,第N层和其上的N+1层的关系是()

A.N层为N+1层提供服务

B.N+1层将从N层接的信息增加一个头部

C.N层利用N+1层的提供的服务

D.N层对N+1层没有任何作用

8. OSI参考模型中,()提供了差错报告,网络拓扑结构的功能

A.网络层

B.传输层

C.数据链路层

D.物理层

9. 传统交换机和路由器分别运行在OSI参考模型的()

A.数据链路层和网络层

B.网络层和传输层

C.传输层和数据链路层

D.物理层和网络层

10. IP数据报的收发方进行跨网投递时,发送方需利用ARP协议获取哪些信息()

A.接收方IP地址的MAC地址

B.发送方本网段路由器对应端口的MAC地址

C.接收方本网段路由器对应端口的MAC地址

D.发送方IP地址的MAC地址

11. OSI的哪一层通常同时使用报头和报尾进行封装()

A.网络

B.传输层

C.数据链路层

D.表示层

12. How long is a MAC address? ( )

A.4 bytes

B.6 bytes

C.8 bytes

D.10 bytes

13. 以下有关MAC地址意义和作用描述错误的是()

A.MAC地址与网络无关

B.在网卡出厂时就确定了, 不能修改. MAC地址通常是唯一的

C.MAC地址用来识别数据链路层中相连的节点

D.一台计算机只能有一个MAC地址

14. 下列IP地址和MAC地址说法错误的是()

A.IP地址的分配是基于网络拓朴,MAC地址的分配是基于制造商

B.IP地址应用于OSI第三层,即网络层,而MAC地址应用在OSI第二层,即数据链路层

C.数据链路层协议可以通过MAC地址使数据从一个节点传递到相同链路的另一个节点上

D.一个MAC地址只能对应唯一一个IP地址

15. A、B两个网络,IP均为静态分配,且IP段不同。当一台主机从一个A网络移到B一个网络时,以下说法正确的是()

A.必须改变它的IP地址和MAC地址

B.必须改变它的IP地址,但不需改动MAC地址

C.必须改变它的MAC地址,但不需改动IP地址

D.MAC地址、IP地址都不需改动

16. 以下有关于数据包封装与分用描述错误的是()

A.应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation).

B.不同的协议层对数据包有不同的称谓,在传输层叫做数据报 (datagram),在网络层叫做段(segment),在链路层叫做帧(frame).

C.在网络层会增加IP首部,在对端的网络层,会去掉IP首部,并解析首部内容之后呈递给传输层

D.在tcp协议分用的过程当中,传输层会去掉tcp头部,将应用数据呈递给上层


答案及解析

1. C

A:TCP协议为传输控制协议,在传输层工作

B:UDP协议为用户数据报协议,在传输层工作

C:SMTP协议为电子邮件传输协议,在应用层工作

D:OSPF为开放的最短路径优先协议,在传输层工作

2. CD

A:网络协议分层将整个功能解耦出来,使得每层都完成不同的功能,方便人们的使用

B:OSI模型分为 7层,自下而上为,物理层,数据链路层,网络层,传输层,会话层,表示层,应用层

3. C

数据链路层完成帧同步,差错控制,流量管理,链路管理

4. B

A错误:电话只是网络通信方式的一种

B正确:由于网络是由各种通信协议以及硬件设备组成,其中硬件是网络通信的保障,网络通信协议标准是网络互连的基础

C和D选项过于宽泛

5. B

HTTP协议是超文本传输协议

DNS协议为域名解析协议

FTP协议为文件传输协议

SMTP协议为电子邮件传输协议

6. C

UDP协议为用户数据报协议,在传输层工作

TCP协议为传输控制协议,在传输层工作

IP协议为网际协议,在网络层工作

ARP协议为地址解析协议,在网络层工作

ICMP协议为Internet控制报文协议,它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息,所以是通过IP协议来进行传输

7. A

在网络分层中,自下而上(这里注意自下而上,则 N为下层,N+1为上层),第N层为N+1层提供服务,N-1层将从N层接的信息增加一个头部

A正确

B错误:说反了,应该是第N层从第N+1层接的信息增加头部,下层为上层信息增加头部

C错误:说反了,N+1层利用第N层提供的服务,上层利用下层提供的服务

D错误

8. C

传输层负责两端之间的数据传输

网络层负责地址管理与路由选择

数据链路层负责相邻设备之间数据帧传输,完成帧同步,差错控制,流量管理,链路管理

物理层负责物理光电信号传输

9. A

交换机在数据链路层,路由器在网络层

10. B

当需要跨网络进行传递的时候,也就是意味着需要找到该数据包的下一跳的MAC地址,所以认为从发送方出来,首先先到到达本网段的路由器,所以获取本网段的路由器的MAC地址

11. C

在数据链路层不但会增加以太网头部还会在尾部加上以太网尾部

12. B

MAC地址,也叫物理硬件地址,用于识别相邻的两个物理硬件设备,它的大小为:6字节

13. D

MAC地址是物理网卡硬件地址,在出厂时就会设定,不能修改,它的大小是6字节,用于识别相邻设备,在链路层完成相邻设备之间的数据传输。

D错误:一台计算机可以绑定多个网卡,进而可以拥有多个MAC地址。

14. D

IP地址是一个数字,用于唯一标识网络中的一台主机。应用于网络层,基于网络拓扑描述起点和终点

Mac地址是物理网卡硬件地址,用于标识相邻设备,应用于链路层,

基于以上理解,描述正确的有 ABC 选项。

D错误:由于IP地址是一个逻辑地址,所以可以给MAC地址对应分配不同的IP地址,使网络通信更加灵活

15. B

每个网络都会有不同的网段,网段是该网络的标识,在该网络中分配的IP地址都会带有网段标识,标识自己所属网络,这样路由器才能进行路径规划,因此当主机改变所在网络时需要将IP地址改成该网段的ip地址,但是MAC地址不用修改,MAC地址本身也是不允许修改

16. B

B:不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).


本篇完。

此篇文章中没有一句代码,讲解的是整个网络的一个概况,让我们对网络有一个框架性的认识,好在之后的学习中有更好的把握。

下一篇:网络和Linux网络_2(套接字编程)socket+UDP网络通信。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/191812.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM之类加载器

文章目录 版权声明类加载器类加载器的分类启动类加载器拓展类加载器&应用程序类加载器 双亲委派机制解决三个问题 打破双亲委派机制自定义类加载器案例演示线程上下文类加载器案例梳理OSGi模块化 版权声明 本博客的内容基于我个人学习黑马程序员课程的学习笔记整理而成。我…

mac 安装使用svn教程

mac 安装使用svn教程 一、安装Homebrew 要在Mac OS上安装SVN,首先需要安装Homebrew。Homebrew是一个流行的包管理器,因此我们将使用它来安装SVN。 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"…

介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用

Docker是一种基于容器的虚拟化技术,它允许开发者将应用程序及其依赖项打包到一个轻量级容器中,然后在任何可用的开发、测试和生产环境中进行部署和运行。 下面是Docker的基本概念和优势: 容器:Docker容器是一种独立运行的软件包&a…

【开源】基于Vue.js的校园失物招领管理系统的设计和实现

目录 一、摘要1.1 项目介绍1.2 项目详细录屏 二、研究内容2.1 招领管理模块2.2 寻物管理模块2.3 系统公告模块2.4 感谢留言模块 三、界面展示3.1 登录注册3.2 招领模块3.3 寻物模块3.4 公告模块3.5 感谢留言模块3.6 系统基础模块 四、免责说明 一、摘要 1.1 项目介绍 基于Vue…

数列计算

题目描述 有一列数是 : 请找出这个数列的规律,编写程序计算并输出这个数列的第项,要求是分数形式,并计算这个数列的前项和 ( 结果四舍五入保留两位小数 ) 输入格式 第一行仅有一个正整数 () 。 输出格式 共有 行,第一…

Java基础-基础语法

1、概述 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;…

Java之“数字困境”:资产管理项目中的Bug追踪与启示

目录 1 前言2 问题的发现3 调试的开始4 深入调试5 调试心得与反思6 结语 1 前言 在程序员的日常工作中,我们时常面对各种令人头疼的问题,其中最令人崩溃的瞬间之一,就是当我们花费大量时间追踪一个看似复杂的bug,最终发现问题的根…

蒙特卡洛树搜索(Monte Carlo Tree Search)揭秘

一. 什么是蒙特卡洛树搜索 蒙特卡洛树搜索(MCTS)是一种启发式搜索算法,一般用在棋牌游戏中,如围棋、西洋棋、象棋、黑白棋、德州扑克等。MCTS与人工神经网络结合,可发挥巨大的作用,典型的例子是2016年的AlphaGo,以4:1…

JAVA集合学习

一、结构 List和Set继承了Collection接口,Collection继承了Iterable Object类是所有类的根类,包括集合类,集合类中的元素通常是对象,继承了Object类中的一些基本方法,例如toString()、equals()、hashCode()。 Collect…

实战Leetcode(五)

Practice makes perfect! 实战一: 思路:我们要用复制的节点来组成一个新的链表,而原链表的节点随机指向其中一个节点,我们首先给每一个节点都复制并且插入到原来节点的后面,然后用复制的节点指向我们原来节…

物理问题中常见的分析问题----什么样的函数性质较好

物理问题中常见的积分符号位置交换问题 重极限与累次极限 高数下的定义 累次极限:求极限时需要遵循一定的顺序重极限:任意方向趋于的极限 两者之间的关系: 两者没啥关系存在累次极限存在而不相等的函数...... 求和符号与积分符号互换--逐项积…

RK3568笔记五:基于Yolov5的训练及部署

若该文为原创文章,转载请注明原文出处。 一. 部署概述 环境:Ubuntu20.04、python3.8 芯片:RK3568 芯片系统:buildroot 开发板:ATK-DLRK3568 开发主要参考文档:《Rockchip_Quick_Start_RKNN_Toolkit2_C…

专题知识点-二叉树-(非常有意义的一篇文章)

这里写目录标题 二叉树的基础知识知识点一(二叉树性质 )树与二叉树的相互转换二叉树的遍历层次优先遍历树的深度和广度优先遍历中序线索二叉树二叉树相关遍历代码顺序存储和链式存储二叉树的遍历二叉树的相关例题左右两边表达式求值求树的深度找数找第k个数二叉树非递归遍历代码…

C++ builder 常见问题汇总

1、CB静态编译设置 2、CB10.3设置经典编译器(用于解决10.3弹出代码提示慢) 3、CBuilder生成Release版本 : project->Options->CCompiler->Build Configuration 选择 Release project->Options->CLinker中取消Use dynamic RTL…

简单实现,在nodejs中简单使用kafka

什么是 Kafka Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区、多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统。 Kafka 的基本术语 消息:Kafka 中的…

深入理解 Django 单元测试

概要 在现代软件开发流程中,单元测试是确保代码质量和可维护性的关键组成部分。对于使用 Django 框架的项目来说,Django 提供了一套强大的测试工具来帮助开发者编写和运行单元测试。本文将深入探讨 Django 中的单元测试,包括测试原理、编写测…

vue3 ref 与shallowRef reactive与shallowReactive

ref 给数据添加响应式,基本类型采用object.defineProperty进行数据劫持,对象类型是借助reactive 实现响应式,采用proxy 实现数据劫持,利用reflect进行源数据的操作 let country ref({count:20,names:[河南,山东,陕西],objs:{key…

19C进入数据库出现问号

问题情况如图所示: 解决方法: su - oracle echo "NLS_LANGAMERICAN_AMERICA.ZHS16GBK;export NLS_LANG" >> ~/.bash_profilesource ~/.bash_profileofile

《网络协议》05. 网络通信安全 · 密码技术

title: 《网络协议》05. 网络通信安全 密码技术 date: 2022-09-10 15:16:15 updated: 2023-11-12 07:03:52 categories: 学习记录:网络协议 excerpt: 网络通信安全(ARP 欺骗,DoS & DDoS,SYN 洪水攻击,LAND 攻击&a…

activiti7审批驳回,控制变量无法覆盖,导致无限循环驳回,流程无法结束

项目开发过程中使用工作流,因此考虑使用activiti7做完工作流引擎。项目开发过程中,发现流程驳回时,再次执行流程,控制变量无法覆盖,导致无限循环驳回,流程无法结束。流程图如下图所示: 驳回控制…