Nowcoder专项练习:网络基础(四)_哦从时延的角度讨论报文交换和分组交换-程序员宅基地

技术标签: Interview Preparation  Self-Culture  Nowcoder  Network Communication  Nowcoder 关键知识  

1,网络传递时延

三种交换方式:
在这里插入图片描述
在上面的三种交换方式中,主要特点如下:

  • 电路交换: 整个报文的比特流连续的从源点直达终点,好像在一个管道中传送。
  • 报文交换: 整个报文先传输到相邻的结点,全部存储下来后查找转发表,转发到下一个结点。
  • 分组交换: 单个分组(报文的一部分)传送到相邻结点,传送到相邻结点,存储下来后查找转发表,转发到下一个结点。

分组交换的思想来源于报文交换,报文交换也称为存储转发交换,它们交换过程的本质都是存储转发,所不同的是:

  • 分组交换的最小信息单位是分组;
  • 报文交换则是一个个报文。

由于以较小的分组为单位进行传输和交换,所以分组交换比报文交换快。报文交换主要应用于公用电报网中。
分组交换对报文交换的主要改进是传输单位更小且定长,这种改进产生的直接结果是减小延迟

电路交换常与分组交换进行比较。其主要不同之处在于:

  • 分组交换的通信线路并不专用于源与目的地间的信息传输。在要求数据按先后顺序且以恒定速率快速传输的情况下,使用电路交换是较为理想的选择
  • 因此,当传输实时数据时,诸如音频和视频;或当服务质量(QOS)要求较高时,通常使用电路交换网络。分组交换在数据传输方面具有更强的的效能,可以预防传输过程(如e-mail信息和Web页面)中的延迟和抖动现象。

因此,对于网络传递时延来说,最小的是电路交换

延迟:
电路交换 < 分组交换 < 报文交换


2,电话线连入因特网

计算机接入Internet时,可以通过公共电话网进行连接。以这种方式连接并在连接时分配到一个临时性IP地址的用户,通常使用的是SLIP/PPP协议连接方式。

其中,SLIP是串行线路协议(Serial Line IP) 的英文缩写。PPP是点对点协议(Point to Point Protocol) 的英文缩写。以这种方式入网时,用户所需要的硬件设备包括一台微型计算机、一条电话线、一台调制解调器(MODEM)、一根RS-232电缆,利用调制解调器通过公共电话网进行Internet连接。


3,网络传输的大端小端

假设在x86平台上,有一个int型变量,在内存中的内部由低到高分别是:0x12,0x34,0x56,0x78当通过网络发送该数据时,正确的发送顺序应该是多少?

  • 小端法(Little-Endian) 就是低位字节排放在内存的低地址端(即该值的起始地址),高位字节排放在内存的高地址端;
  • 大端法(Big-Endian) 就是高位字节排放在内存的低地址端(即该值的起始地址),低位字节排放在内存的高地址端;

在X86 系列CPU都是little-endian的,因此,根据题目的要求,这个int型变量值为:

  • 0x78563412

而网络发送数据时,网络协议规定:

  • 将接受到的第一个字节当做高位字节看待,这就要求求发送端发送的第一个字节是高位字节;即,先发送高位再发送低位。
  • 因此,网络字节序应该是大端字节序

于是,正确的发送顺序为:

  • 0x78,0x56。0x34。0x12

4,网络组织方式

根据本地网的业务覆盖范围和通信容量的不同,可以有其不同的网路组织方式。
1、适合于特大和大城市的本地网的网路组织
采用分区双汇接局结构。将本地网划分成若干个汇接区,每个汇接区内设置两个大容量的汇接局,覆盖区内的每个端局;当汇接局均为端/汇合一局(用DTm/DL)时,全网的所有汇接局间为个个相连的网状网;当某一个汇接区内的两个汇接局均为纯汇接局时,这两个汇接局之间不需相连。

2、适合于中等城市的本地网的网路组织
采用汇接局全覆盖结构。在全网设置2~3汇接局,对全网的端局全覆盖,汇接局一般设置在本地网的中心城市,并且相互之间采用网状网结构。

3、适合于较小本地网的网路组织
采用一级(无汇接局)网状网结构


5,TCP中重发数据的等待时间

TCP协议用于控制数据段是否需要重传的依据是设立重发定时器

在发送一个数据段的同时启动一个重发定时器,如果在定时器超时前收到确认就关闭该定时器,如果定时器超时前没有收到确认,则重传该数据段。这种重传策略的关键是对定时器初值的设定。目前采用较多的算法是Jacobson于1988年提出的一种不断调整超时时间间隔的动态算法。其工作原理是:

  • 对每条连接TCP都保持一个变量RTT,用于存放当前到目的端往返所需要时间最接近的估计值。当发送一个数据段时,同时启动连接的定时器,如果在定时器超时前确认到达,则记录所需要的时间(M),并修正RTT的值,如果定时器超时前没有收到确认,则将RTT的值增加1倍。通过测量一系列的RTT(往返时间)值,TCP可以估算数据报重发前需要等待的时间。

6,Internet

  • Internet:network of network

意思是将无数局域网连接起来组成的网络。


7,数字签名

  • 数字签名技术是将摘要用发送者的私钥加密,与原文一起传送给接收者。
  • 接收者只有用发送者的公钥才能解密被加密的摘要,然后用Hash函数对收到的原文产生一个摘要,与解密的摘要对比,如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则,就是被修改过,不是原信息。
  • 数字签名能够解决篡改,伪造等安全问题。
  • 实现数字签名的主要技术是非对称密钥加密技术
  • 数字签名并不能保证信息在传输过程中不被截获。

8,IP数据报分片与重组

  • IP数据报的分片可以在信源机或者路由器上。
  • IP数据报的重组则只能在目的机上。

9,OSI分层与功能

分层 功能
应用层 针对特定应用规定各层协议、时序、表示等,进行封装。如HTTP。
表示层 规定数据的格式化表示 ,数据格式的转换。
会话层 规定通信时序;数据交换的定界、同步,创建检查点等。
传输层 节点之间可靠地分发数据包。
网络层 路由( IP寻址);拥塞控制。
数据链接层 检错与纠错(CRC码),多路访问,寻址。
物理层 定义机械特性,电气特性。

10,Socket

基于传输层的差异,socket有四种类型:

  1. 基于TCP的Socket:提供应用层可靠的流式数据服务
    使用TCP的Socket应用程序协议有:BGP,HTTP,FTP,TELNET等。
    优点:基于数据传输的可靠性。
  2. 基于UDP的Socket:适用于数据传输可靠性要求不高的场合。
    基于UDP的Socket应用程序或协议有:RIP,SNMP,L2TP等。
  3. 基于RawIp的Socket:非连接,是不可靠的数据传输。
    基于RawIp的Socket:PING ,Tracert,OSPF等。
    特点:能使应用程序直接访问网络层。
  4. 基于链路层的Socket:为IS-IS协议提供的Socket接口。使IS-IS协议可通过Socket直接访问链路层。非连接,不可靠通信服务。

11,802

802.3
  • 经典以太网,采用CSMA/CD算法
802.11
  • 无限局域网,采用CSMA/CA算法

12,确定应用程序的协议

计算机通过端口号确定应用程序使用该种协议。

  1. IP地址: IP地址是用来唯一标识互联网上计算机的逻辑地址,让电脑之间可以相互通信. 每台连网计算机都依靠IP地址来互相区分、相互联系。
  2. 域名: 由于IP地址是数字标识,使用时难以记忆和书写,因此在IP地址的基础上又发展出一种符号化的地址方案,来代替数字型的IP地址。每一个符号化的地址都与特定的IP地址对应,这样网络上的资源访问起来就容易得多了。这个与网络上的数字型IP地址相对应的字符型地址,就被称为域名。
  3. DNS: 在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。域名的最终指向是IP
  4. 端口号: 我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的

13,常用端口号

TCP/UDP常用端口号:

端口号 协议类型 服务
20 TCP FTP数据
21 TCP FTP控制 文件传输协议
22 TCP SSH 安全登录、文件传送(SCP)和端口重定向
23 TCP Telnet 不安全的文本传送
25 TCP SMTP 简单邮件传输协议(Simple Mail Transfer Protocol)(E-mail)
53 TCP DNS 域名服务器
67 UDP DHCP 动态主机配置协议(服务器)
69 UDP TFTP 日常文件传输协议(Trivial File Transfer Protocol)
80 TCP WWW (HTTP超文本传送协议)
110 TCP POP3 邮局协议(Post Office Protocol)(E-mail)
161 UDP SNMP 简单网络管理协议(Simple Network Management Protocol)
220 TCP IMAP3 Internet消息访问协议(Internet Message Access Protocol)
443 TCP HTTPS 经过加密的HTTP(used for securely transferring web pages)

14,路由器的基本功能

路由器的基本功能如下:

  • 网络互连: 路由器支持各种局域网和广域网接口,主要用于互连局域网和广域网,实现不同网络相互通信。
  • 数据处理: 路由器提供包括分组过滤、分组转发、优先级、复用、加密、压缩和防火墙等功能。
  • 网络管理: 路由器提供包括路由器配置管理、性能管理、容错管理和流量控制等功能。

15,域名解析

对于主机域名 for.zj.edu.cn 来说:

  • for:主机名
  • zj:三级域名
  • edu:二级域名
  • cn:顶级域名

16,波特率

波特率B与数据传输率C的关系:

  • C=B×log2N(N为一个码元所取的离散值个数)

如果我们采用4种相位,也即可以表示四种变化,则一个码元可以携带:

  • log24 = 2bit信息

因此,如果某通信链路的数据传输速率为2400bit/s,采用4相位调制,则该链路的波特率 = 比特率/2 = 1200波特


17,私有地址

私有IP地址的范围:

类型 IP地址范围
A类 10.0.0.0-10.255.255.255
B类 172.16.0.0-172.31.255.255
C类 192.168.0.0-192.168.255.255
  • 127.0.0.1是本机回送地址,主要测试的用途

18,传输可靠性的保证

TCP协议本身保证了数据传输的可靠性,而UDP本身不保证数据传输的可靠性。

倘若TCP/IP 为实现高效率的数据传输,在传输层采用了 UDP 协议,则对于传输的可靠性而言,因为UDP在传输层,而传输层提供端对端的接口,即为应用进程间的通信,所以,其可靠性由应用进程提供。


19,冲突域的隔离

关于物理层、数据链路层、网络层设备对于隔离冲突域的总结:

设备名称 能否隔离冲突域
集线器 不能
中继器 不能
交换机
网桥
路由器

对于问题:
在这里插入图片描述
若主机H2向主机H4发送1个数据帧,主机H4向主机H2立即发送一个确认帧,则除H4外,从物理层上能够收到该确认帧的主机还有谁?

这道题中,交换机(Switch)可以隔离冲突域,但集线器(Hub)无法隔离冲突域,因此从物理层上能够收到该确认帧的主机仅H2、H3


20,广域网与以太网

以太网是一种计算机局域网基于,不属于广域网。

属于广域网的有:

  • ATM网
  • 帧中继网
  • x.25分组交换网

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lym940928/article/details/90333842

智能推荐

博鳌亚洲论坛2023年会 国研政情·谋定论道-桑切斯:中欧合作行动-程序员宅基地

文章浏览阅读326次,点赞8次,收藏8次。博鳌亚洲论坛2023年会 国研政情·谋定论道-桑切斯:中欧合作行动

史上最全的Android面试题集锦,知乎上已获万赞_android 面试题库 知乎-程序员宅基地

文章浏览阅读99次。背景知乎客户端中有一个自己维护的 Hybrid 框架,在此基础上开发了一些 Hybrid 页面,当需要前端或者客户端开发接口的时候,就涉及到联调的问题。和一般的 前端 <=> 服务端,或者 客户端 <=> 服务端 类似,前端 <=> 客户端也会出现联调的各种问题,但是往往 Hybrid 开发相关的调试工具并不是那么完备。由于在 Hybrid 里面,前端和客户端联系是很紧密的,假如一个人既熟悉前端开发又熟悉客户端开发,调试是很容易的,但是现实一般是可能客户端开发并不是_android 面试题库 知乎

SpringBoot多模块项目打包_spingboot添加多个启动项目分别打包-程序员宅基地

文章浏览阅读269次。SpringBoot多模块项目打包_spingboot添加多个启动项目分别打包

【微电网优化】基于matlab YALMIP求解微网(光伏+风电+蓄电池+微电网+柴油机)优化调度问题【含Matlab源码 2266期】_matlab虚拟电厂调度优化-程序员宅基地

文章浏览阅读596次。YALMIP求解微网(光伏+风电+蓄电池+微电网+柴油机)优化调度问题完整代码,直接运行,适合小白!可提供运行操作视频!_matlab虚拟电厂调度优化

vue3 中使用el-dropdown时,slot报错`slot` attributes are deprecated_vue3 `slot` attributes are deprecated.-程序员宅基地

文章浏览阅读1k次,点赞3次,收藏4次。在VUE3中使用el-dropdown时,出现了下面的报错是因为vue 3.x 增加了v-slot的指令,去掉了原来的slot,slot-scope属性。el-dropdown-menu标签外面加上如下图:<el-dropdown> <span class="el-dropdown-link"> 下拉菜单<i class="el-icon-arrow-down el-icon--right"></i> </span>_vue3 `slot` attributes are deprecated.

ioc和di的关系-程序员宅基地

文章浏览阅读6.5k次,点赞6次,收藏9次。 刚进入spring的时候,看见这两个词一阵迷茫,控制反转不知道转的是啥,依赖注入也不知道注入的啥。有的人说这两个是一个,有的说di是ioc的实现,我就说说我的理解。 从getter和setter开始 从开始学习mvc设计模式,或者是jsp异或是框架,必然会有JavaBean或者其他类似的概念出现。getter和setter就是JavaBean中的..._ioc和di的关系

随便推点

7年点工,从为娶媳妇开始软件测试,到最后拍领导桌子甩头辞职···_软件测试纯点工-程序员宅基地

文章浏览阅读274次。7年的点工测试,薪资从1800到4500再到15K,为了让媳妇过得更好,决定来学自动化,实现买买买自由的初步小目标。_软件测试纯点工

记录MEMORY_MANAGEMENT蓝屏解决过程_ntoskrnl.exe memory_management-程序员宅基地

文章浏览阅读3.9w次,点赞10次,收藏45次。MEMORY_MANAGEMENT蓝屏解决过程问题描述win10,1909版本,一个月内蓝屏两至三次,都是在空闲时蓝屏,提示MEMORY_MANAGEMENT仅安装火绒,内存4+16(crucial,2666,后配的)解决过程首先我检查了下硬件,内存和硬盘没发现问题另排除病毒使用Debugging tools查看DMP文件,发现是由于ntoskrnl.exe导致命令提示符下执行chkdsk c: /f,重启修复c盘原因分析引用1:ntoskrnl.exe 是 Windows 操作系统的_ntoskrnl.exe memory_management

java开发工具包jdk包括哪些_java的工具包有多少兆代码-程序员宅基地

文章浏览阅读679次。害怕干不过SpringBoot?莫慌,我送你套神级pdf文档随着 Spring Boot 使用越来越广泛,Spring Boot 已经成为 Java 程序员面试的知识点,很多同学对 Spring Boot 理解不是那么深刻,经常就会被几个连环追问就给干趴下了!今天小编就给大家整理了全套SpringBoot“神级PDF文档”:面试篇:35常见知识点、21道必刷题、10个高频解析题知识脑图篇:综合解析SpringBoot知识大全预览进阶学习必备篇:《SpringBoot学习教程》、《深入_java的工具包有多少兆代码

java基础案例教程黑马程序员案例答案,真香_springboot黑马程序员课后答案-程序员宅基地

文章浏览阅读2.3k次。掌握核心知识1、90%几率面试被问,吃透原理,面试不慌(Spring原理)2、大厂必问Redis,赶紧码起来(Redis核心原理)3、MySQL从入门到实战都在这篇,面试笑谈优化当然核心知识不止这三点,这只是一部分吃透源码1、面试源码有捷径,Spring源码将无所畏惧(Spring源码解析)2、金三银四面试必问,MyBatis二级缓存揭秘3、面试加分课,Spring MVC源码将无所畏惧实战训练1、受用终生的Redis实战场景2、面试加分项(Spring Boot实战_springboot黑马程序员课后答案

如何完全删除解压版mysql_Mysql Window 解压版卸载-程序员宅基地

文章浏览阅读690次。windows如何彻底卸载mysql如何彻底删除mysql1.首先在windows服务中将mysql服务删掉,使用命令 sc delete mysql2.在控制面板中卸载掉mysql。3.清理mysql安装目录的ini文件。4.清理注册表:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除..._windows怎么卸载解压版的mysql

linux安装mariadb数据库_linux a安装mariadb-程序员宅基地

文章浏览阅读1.5k次。1. 在linux系统安装mariadb数据库命令:yum install mariadb-server -- 安装mariadb数据库如果安装失败执行此命令:yum clean all 2. 确认下载:3. 安装成功提示:4. 数据库命令: 1. 启动命令 [root@localhost src]# systemctl start mariadb 2. 重启命令 [root@localhost src]# ..._linux a安装mariadb

推荐文章

热门文章

相关标签