【计算机网络】深入浅出计算机网络

ops/2025/1/16 15:45:32/

第一章

计算机网络在信息时代的作用

计算机网络已由一种通信基础设施发展成一种重要的信息服务基础设施

CNNIC 中国互联网网络信息中心

因特网概述

网络、互联网和因特网

网络(Network)由若干结点(Node)和连接这些结点的链路(Link)组成

多个网络还可以通过路由器(router)互联起来,这样就构成了一个覆盖范围更大的网络,即互联网。因此互联网是网络的网络(Network of Network)

因特网(Internet)是世界上最大户互联网络(用户数以亿计,互连的网络数以百万计)

Internet(互联网)是一个通用名词,它泛指由多个计算机网络连接而成的网络。在这些网络之间的通信协议可以是任意的

Internet(因特网)则是一个专有名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET

因特网发展的三个阶段

因特网服务提供者ISP(Internet Service Provider)

基于ISP的三层结构的因特网

第一层ISP(主干网,覆盖国际性区域范围,并拥有高速链路和交换设备),第一层ISP之间直接互联

第二层ISP和一些大公司都是第一层ISP的用户,通常具有区域性或国家性覆盖规模,与少数第一层ISP相连接

第三层ISP,又称本地ISP,它们是第二层ISP的用户,且只拥有本地范围的网络,一般的校园网或企业网,以及住宅用户和无线移动用户都是第三层ISP的用户

相隔较远的两台主机间的通信可能需要经过多个ISP

一旦某个用户能够接入到因特网,那么他也可以成为一个ISP,所需要做的是购买一些如调制器或路由器这样的设备,让其他用户能够和他相连

一个ISP可以很方便地在因特网拓扑上增添新的层析和分支

因特网的标准化工作

注意:不是所有的RFC文档都是因特网标准,只有一小部分RFC文档最后才能变为因特网标准

因特网的组成

边缘部分:由所有连接在因特网上的主机组成,这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享

核心部分:由大量的网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的(提供连连通性和交换)

在网络核心部分起特殊作用的是路由器,是一种专用计算机,但我们不称它为主机。路由器是实现分组交换的关键构件,其任务是转发接收到的分组。

三种交换方式

电路交换(Circuit Switching)

电话交换机接通电话线的方式称为电路交换;

从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;

电路交换的三个步骤:

(1)建立连接(分配通信资源)

例如,在使用电路交换机打电话之前,必须先拨号请求建立连接。当被叫用户听到电话交换机送来的拨号音并摘机后,从主叫端到被叫端建立了一条连接(也就是一条专用的物理通路),这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他用户占用。

(2)通话(一直占用通信资源)

在整个通话期间,第一步建立连接所分配的通信资源始终被占用

(3)释放连接(归还通信资源)

也就是通话完毕后挂机后,电话交换机释放刚才使用的这条专用物理通路,是把刚才占用的所有通信资源归还给电信网。

思考:如果使用电路交换来传送计算机数据,是否可行?

尽管采用电路交换可以实现计算机之间的数据传送,但是线路的传送效率往往很低(计算机数据是突发式地出现在传输线路上的)

用户正在输入和编辑一份待传输的文件时,用户所占用的通信资源暂时未被利用,该通信资源也不能被其他用户利用,宝贵的通信线路资源白白地被浪费了

因此,计算机网络通常采用分组交换,而不是电路交换

分组交换(Packet Switching)

假设主机H6的用户要给主机H2的用户发送一条消息,(通常把该消息的整块数据称为一个报文),在发送报文之间,先把较长的报文划分成一个个更小的等长数据段。在每一个数据段前面,加上一些由必要的控制信息组成的首部(也可称为“包头”)后,就构成了一个分组(也可简称为“包”)

添加首部的作用?首部中肯定包含了分组的目的地址,否则分组传输路径中的各分组交换机(也就是各路由器)就不知道如何转发分组了。

分组交换机收到一个分组后,先将分组暂时存储下来,再检查其首部,按照首部中的目的地址进行查表转发,找到合适的转发接口,通过该接口将分组转发给下一个分组交换机,

主机H6将所构造出的各分组依次发送出去,各分组经过交换机的存储转发,最终到达主机H2,主机H2收到这些分组后,去掉它们的首部,将各数据段组合还原出原始报文。

只给出两种情况:一种是各分组从源站到达目的站可以走不同的路径(不同的路由);

另一种是分组乱序,分组到达目的站的顺序不一定与分组在源站的发送顺序相同。

可能出现的分组丢失、误码、重复等

报文交换(Message Switching)

交换结点也采用存储转发方式,但报文交换对报文的大小没有限制,这就要求交换结点需要有较大的缓存空间。

主要用于早期的电报通信网,现在较少使用,通常被较先进的分组交换方式所取代

分组交换,相比于报文交换,减少了转发时延,避免过长的报文长时间占用链路,同时有利于进行差错控制。

计算机网络的定义和分类

计算机网络的性能指标

计算机网络体系结构

总结

第二章

物理层的基本概念

物理层下面的传输媒体

传输方式

编码与调制

信道的极限容量

总结

第三章

数据链路层概述

封装成帧

差错检测

可靠传输的实现机制

点对点协议PPP

媒体接入控制的基本概念

媒体接入控制

随机接入

MAC地址、IP地址以及ARP协议

集线器与交换机的区别

以太网交换机自学习和转发帧

以太网家滑稽的生成树协议STP

虚拟局域网VLAN概述

虚拟局域网VLAN的实现机制

第四章

网络层概述

网络层提供的两种服务

IPv4地址概述

分类编址的IPv4地址

划分子网的IPv4地址

无分类编址的IPv4地址

IPv4地址的应用规划

IP数据报的发送和转发过程

静态路由器配置以及

路由器选择协议概述

IPv4数据报的首部格式

网际控制报文协议ICMP

虚拟专用网VPN与网络地址转换NAT

第五章

运输层概述

运输层端口号、复用与分用的概念

UDP和TCP的对比

TCP的流量控制

TCP的拥塞控制

TCP超时重传时间的选择

TCP可靠性传输的实现

TCP的运输连接管理

TCP报文段的首部格式

第六章

应用层概述

客户--服务器方式和对等方式

动态主机配置协议DHCP

域名系统DNS

文件传送协议FTP

电子邮件

万维网WWW


http://www.ppmy.cn/ops/149991.html

相关文章

《2025 CES 国际消费电子展:科技狂潮,未来已来》

一、2025 CES 盛大启幕,全球科技共襄盛举 当地时间 1 月 7 日,备受瞩目的 2025CES(国际消费电子展)在美国拉斯维加斯盛大开幕。作为全球规模最大、影响力最深远的消费技术产业盛会,CES 自 1967 年举办以来&#xff0c…

Docker-compose Prometheus Grafana 安装

环境准备 #要在 Vim 中默认启用 set paste 和 set number, vim ~/.vimrc #在 .vimrc 文件中添加以下内容: set paste set number 安装 Docker Compose sudo curl -L "https://github.com/docker/compose/releases/download/2.31.1/docker-compos…

docker run一个镜像如何指定最大可使用的内存大小、cpu大小

在 Docker 中,你可以通过 --memory 和 --cpus 参数来指定容器的最大内存和 CPU 限制。这样可以确保容器不会超出特定的资源限制,从而避免影响主机的其他进程。 1. 限制内存(--memory) 通过 --memory 或 -m 参数,你可…

Linux系统编程之线程优先级

概述 在Linux系统中,线程优先级是影响多线程应用程序性能和响应速度的关键因素之一。通过合理设置线程优先级,可以确保关键任务得到及时处理,同时避免低优先级任务过度占用系统资源。 线程优先级是指操作系统根据一定的规则分配给每个线程的一…

超大规模分类(三):KNN softmax

传统的分类损失计算输入数据和每个类别中心的距离,来优化模型的训练。KNN softmax通过选择和输入数据最相关的top-K个类别,仅计算输入数据和top-K个类别中心的距离,以减小计算量。 KNN softmax首次诞生于达摩院机器智能技术实验室发表的SIGKD…

拉依达的嵌入式\驱动面试宝典》—Linux篇(四)_Linux驱动编程

《拉依达的嵌入式\驱动面试宝典》—Linux篇(四)_Linux驱动编程 你好,我是拉依达。 感谢所有阅读关注我的同学支持,目前博客累计阅读 27w,关注1.5w人。其中博客《最全Linux驱动开发全流程详细解析(持续更新)-CSDN博客》已经是 Linux驱动 相关内容搜索的推荐首位,感谢大家支…

怎么用python写个唤醒睡眠电脑的脚本?

环境: win10 python3.12 问题描述: 怎么用python写个唤醒睡眠电脑的脚本? 解决方案: 1.唤醒处于睡眠状态的电脑通常不是通过编程直接实现的,而是依赖于硬件和操作系统提供的特性。对于Windows系统,可…

微信小程序实现拖拽盒子效果

要实现一个当前盒子高度由里面的盒子进行支配高度拖拽的效果 // wxml<view class"exmation-item" wx:elif"{{type4}}"> <view class"exmation-item-drag-box" id"drag-box"> <!-- 内容 --><view class"exm…