💗计算机网络从放弃到入门(二)

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 💗计算机网络从放弃到入门(二)

四、🍺网络层


主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务.网络层的传输单位是数据报.


功能一: 路由选择和分组转发


路由选择(确定哪一条路径):指按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态地改变所选择的路由.


分组转发(当一个分组到达时采取的动作):指路由器按照转发表将用户的IP数据报从合适的端口转发出去.


功能二: 异构网络互联


指将两个以上的计算机网络,通过一定的方法,用一种或多种中间系统相互连接起来,以构成更大的网络系统.中间设备分为:


  1. 物理层中继系统:中继器,集线器
  2. 数据链路层中继系统:网桥或交换机
  3. 网络层中继系统:路由器
  4. 网络层以上的中继系统:网关


功能三: 拥塞控制


在通信子网中,因出现过量的分组而引起网络性能下降的一种现象称为拥塞.


虚电路服务和数据报服务的特点和对比


数据报服务:无连接服务,每个分组携带源和目的地址,路由器根据分组的目的地址转发

虚电路服务:有连接服务,将数据报方式和电路交换方式结合,一条源主机到目的主机类似于电路的路径(逻辑连接),路径上所有结点都要维持这条虚电路的建立,都维持一张虚电路表,每一项记录了一个打开的虚电路的信息.


dd26f2c4ed3e4036813b7afef6d121d1_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


IP地址及默认子网掩码


传统的IP地址是分类的地址,分为A、B、C、D、E五类.

无论是哪类IP地址,都由网络号和主机号组成两部分组成.


  • A类地址:网络号前8位,第1位为0;
  • B类地址:网络号前16位,前2位为10;
  • C类地址:网络号前24位,前3位为110;
  • D类地址:网络号前8位,前4位为1110;
  • E类地址:网络号前8位,前4位为1111。


网络类别 最大可用网络数 每个网络中的最大主机数 默认子网掩码
A 27−22^7-2272 224−22^{24}-22242 255.0.0.0
B 214−22^{14}-22142 216−22^{16}-22162 255.255.0.0
C 221−22^{21}-22212 28−22^{8}-2282 255.255.255.0


网络地址转换NAT


专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址.


NAT路由器在转发IP数据报时,一定要更换其IP地址.普通路由器仅工作在网络层,而NAT路由器转发数据报时需要查看和转换传输层的端口号.


子网划分


4a9eed0c210544239bfc48360556c35a_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


基本思路:


从主机号借用若干比特作为子网号,当然主机号也就相应减少了相同的比特.三级IP地址的结构如下:


IP地址={<网络号>,<子网号>,<主机号>}

注:某单位划分子网后,对外仍表现为一个网络,即本单位外的网络看不见本单位内子网的划分.


582ce17186784df2bba9e944bcc9422c_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

子网掩码


主机号全0,其余全1


fba88f76e7ea46d684db7d1dabad68b5_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

子网掩码习题


已知IP地址是141.14.72.24,子网掩码是255.255.192.0,求网络地址


解答:将IP地址与子网掩码相与141.14.?.0


0-1-0-0-1-0-0-0(72)
1-1-0-0-0-0-0-0(192)
--------------------
0-1-0-0-0-0-0-0(64)
复制代码


故网络地址为141.14.64.0


fb3cb4cbb3a24ecab04c8a1fc74f339e_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


无分类编址CIDR


1.消除了传统的A类,B类,C类地址以及划分子网的概念. CIDR记法:IP地址后加上"/",然后写上网络前缀(可以任意长度)的位数.eg:128.14.32.0/20 2. 融合子网地址与子网掩码,方便子网划分


CIDR把网络前缀都相同的连续的IP地址组成一个"CIDR地址块"


9fdd15e72f0d48d689c6c53f3cd8962b_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


MAC地址


数据链路层使用的地址,它是平面式的.在网络层及网络层之上使用IP地址,IP地址放在IP数据报的首部,而MAC地址放在MAC帧的首部.通过数据封装,把IP数据报分组封装为MAC帧后,数据链路层看不见数据报分组中的IP地址.


ARP协议


完成IP地址到MAC地址的映射.每台主机都设有一个ARP高速缓存,用来存放ARP表,使用ARP协议来动态维护此ARP表.


工作原理: 主机A欲向本局域网上的某台主机B发送IP数据报时,先在其ARP高速缓存中查看有无主机B的MAC地址.如有,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址.


IP数据报格式


一个IP分组由首部和数据两部分组成,首部又分为固定部分和可变部分.


e7d6a22c22ac4b9ebf916e0fbd280dc6_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


IP数据报分片


最大传送单元MTU


链路层数据帧可封装数据的上限.

以太网的MTU是1500字节

总长度单位是1B

片偏移量的单位是8B

首部长度单位是4B


273ac3402b0446b9afe121b49f46dd32_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


RIP协议


RIP是一种分布式的基于距离向量的路由选择协议,其最大的优点就是简单。


RIP的特点


  1. 仅和相邻路由器交换信息。
  2. 路由器交换的信息是当前路由器所知道的全部信息,即自己的路由表。
  3. 按固定的时间间隔交换路由信息。


OSPF协议


OSPF协议是使用分布式链路状态路由算法的典型代表。


路由器的构成


路由选择和分组转发


路由器和以太网交换机的比较


路由器是利用网络层地址转发分组的存储转发分组交换机,尽管交换机也是一个存储转发交换机,它和路由器不同,因为它用MAC地址转发分组。交换机是一个第二层的分组交换机,而路由器是一个第三层的分组交换机。


五、🍟运输层


运输层的功能


进程之间的逻辑通信、复用和分用、差错检测、面向连接的TCP和面向无连接的UDP


问答:


接收方收到有差错的UDP用户数据报时应如何处理?


丢弃且不通知发送方。


TCP和UDP的主要区别。


TCP提供的是面向连接、可靠的字节流服务,并且有流量控制和拥塞控制功能。UDP提供的是无连接、不可靠的数据报服务,无流量控制和拥塞控制。


为什么在TCP首部中有一个首部长度字段,而UDP的首部中就没有这个字段?


TCP首部除固定长度部分外,还有选项,因此TCP首部长度是可变的。UDP首部长度是固定的。


如果因特网中的所有链路都提供可靠的传输服务,TCP可靠传输服务将会是完全多余的吗?为什么?


TCP可靠传输服务不是多余的。因为在端到端的数据传输过程中并不是所有的差错都来自分组在链路上传输时的比特级差错,例如由于网络拥塞导致路由器的分组丢弃,路由器在转发分组时的故障等都会导致端到端的数据传输的差错,这些都不可能通过链路层的可靠数据传输得以解决,必须由端到端的运输层可靠数据传输服务来解决。


为什么使用三次握手?


三次握手的目的是建立可靠的通信信道,说到通讯,简单来说就是数据的发送和接收,而三次握手的主要目的就是确认自己和对方发送和接受数据是正常的。


简单增加资源是否能解决拥塞问题?


拥塞控制是一个全局过程,涉及到所有的主机、所有的路由器以及与降低网络传输性能有关的所有因素。拥塞的实质往往是整个系统的各个部分不匹配。只有所有的部分都平衡了,问题才会解决。 增加资源并不能保证一定解决拥塞问题。例如当某个结点缓存容量太小时,分组将因无缓存空间而被丢弃。如果将缓存容量扩展到非常大,所有分组都能在这个缓存队列上排队,这样会出现很长的排队等待时间,结果将因为超时而重传分组,重传的分组继续排队,使情况更加恶化。这个例子也说明增加资源并不能保证一定解决拥塞问题。


习题


设TCP使用的最大窗口为64 KB,即641024字节,而传输信道的带宽可认为是不受限制的。若报文段的平均往返时延为20 ms,问所能得到的最大吞量是多少?


caf0d5489b0e46b18651f5dfb293b9e3_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


通信信道带宽为1 Gbit/s,端到端时延为10 ms。TCP的发送窗口为65535字节。试问:可能达到的最大吞吐量是多少?信道的利用率是多少?


发送时延=数据长度/信道带宽=65535 * 8bit/1Gb/s=0.52428 * 10-3s=0.52428ms;

传播往返时延=2 * 10=20ms (发送数据和接收确认);

故每发送一个窗口大小的流量需要,

总时延 = 发送时延 + 传播往返时延 = 0.52428+20=20.52428ms。

故每秒钟可以产生1000/20.52428个窗口,

因此最大数据吞吐量=65536*8*(1000/20.52428)=25544769bit/s=25.5Mb/s

信道的利用率 = 25.5Mb/s÷1000Mb/s≈2.55%


六、🥗应用层


DNS的功能


DNS是因特网使用的命名系统,用来把便于人们记忆具有特定含义的主机名转换为便于机器处理的IP地址。


HTTP


分为非持久连接和持久连接(HTTP/1.1支持) 对于非持久连接,每个网页元素对象的传输都需要单独建立一个TCP连接。


所谓持久连接,是指万维网服务器在发送响应后仍然保持这条连接,使同一个客户和服务器可以继续在这条连接上传送后续的HTTP请求和响应报文。


841969220ed1469bb977da5ebe01ee19_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg


电子邮箱服务SMTP和POP协议


简单邮件传输协议是一种提供可靠且有效的电子邮件传输协议,它控制两个相互通信的SMTP进程交换信息。SMTP用的是TCP连接,端口号为25。


邮局协议是一个非常简单但功能有限的邮件读取协议。现在使用的是它的第3个版本POP3。


FTP的功能


FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。熟知端口号(21) FTP提供以下功能:


  1. 提供不同种类主机系统之间的文件传输能力。
  2. 以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力。
  3. 以匿名FTP的方式提供公用文件共享的能力。


TELNET


Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。


DHCP


DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
1月前
|
人工智能 监控 网络协议
【网络技术】心跳机制(入门讲解)
【网络技术】心跳机制(入门讲解)
|
2月前
|
监控 网络协议 Java
Linux 网络编程从入门到进阶 学习指南
在上一篇文章中,我们探讨了 Linux 系统编程的诸多基础构件,包括文件操作、进程管理和线程同步等,接下来,我们将视野扩展到网络世界。在这个新篇章里,我们要让应用跳出单机限制,学会在网络上跨机器交流信息。
Linux 网络编程从入门到进阶 学习指南
|
1月前
|
机器学习/深度学习 存储 人工智能
深度学习第1天:深度学习入门-Keras与典型神经网络结构
深度学习第1天:深度学习入门-Keras与典型神经网络结构
36 0
|
2天前
|
网络协议 安全 Linux
网络入门基础
网络入门基础
5 0
|
12天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
13天前
|
存储 监控 安全
【亮剑】指导初学者如何搭建和使用网络视频监控系统。
【4月更文挑战第30天】本文指导初学者如何搭建和使用网络视频监控系统。核心设备包括摄像头(如固定、PTZ、多目、夜视)、存储选项(NVR、DVR、云存储)及网络交换机等。安装配置步骤涉及规划布局、安装摄像头、设置存储设备和软件配置。实时监控包括实时查看、接收警报和录像回放。理解设备功能、合理布局并细心操作,就能建立稳定监控体系。随着技术进步,未来监控系统将更智能、高效,保障安全。
|
15天前
|
机器学习/深度学习 Python
【深度学习入门】- 神经网络
【深度学习入门】- 神经网络
|
17天前
|
存储 NoSQL Linux
Redis入门到通关之Redis5种网络模型详解
Redis入门到通关之Redis5种网络模型详解
32 1
|
17天前
|
NoSQL Ubuntu 关系型数据库
Redis入门到通关之Redis网络模型-用户空间和内核态空间
Redis入门到通关之Redis网络模型-用户空间和内核态空间
22 1
|
19天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信