计算机网络扫盲(1)——因特网

一、概述

        因特网是一个世界范围的计算机网络,即它是一个互联了遍及全世界数十亿计算设备的网络。大家对此应该并不陌生,我们身边有着不计其数的计算机设备被接入了因特网,如今计算机网络这个术语似乎已经有点过时了,用因特网的术语来说,所有的这些接入因特网的设备我们可以称之为主机(host)或者端系统(end system)。

        端系统通过通信链路(communication link)分组交换机(packet switch)连接到一起。当一台端系统要向另一台端系统发送数据的时候,发送端系统将数据分段,并为每段加上首部字节。由此形成的信息包用计算机网络的术语来说称为分组(packet)

        分组交换机从它的一条通信链路接收达到的分组,并从它的一条出通信链路转发该分组。市面上流行着各种类型、各具特色的分组交换机,但在当今的因特网中,两种最著名的类型是路由器(router)和链路层交换机(link-layer switch)。这两种类型的交换机朝着最终目的地转发分组。链路层交换机通常用于接入网中,而路由器通常用于网路核心中。从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径(route 或 path)

        端系统通过因特网服务提供商(Internet Service Provider,ISP)接入因特网,包括有住宅区ISP、公司ISP、大学ISP,在公共场所提供WiFi接入的ISP,以及为智能手机等设备提供移动接入的蜂窝数据ISP。每个 ISP 自身就是一个由多台分组交换机和多段通信链路组成的网络。各ISP为端系统提供了各种不同类型的网络接入,包括如线缆调制解调器或 DSL那样的住宅宽带接入、高速局域网接入和移动无线接入。ISP也为内容提供者提供因特网接入服务,将Web站点和视频服务器直接连入因特网。因特网就是将端系统彼此互联,因此为端系统提供接入的ISP也必须互联。较低层的 ISP 通过国家的、国际的较高层 ISP互联起来。较高层ISP是由通过高速光纤链路互联的高速路由器组成的。无论是较高层还是较低层ISP网络,它们每个都是独立管理的,运行着IP协议,遵从一定的命名和地址规则。
        端系统、分组交换机和其他因特网部件都要运行一系列协议(protocol),这些协议控制因特网中信息的接收和发送。TCP (Transmission Control Protocol,传输控制协议)IP (Internet Protocol,网际协议)是因特网中两个最为重要的协议。IP协议定义了在路由器和端系统之间发送和接收的分组格式。因特网的主要协议统称为TCP/IP。
        鉴于因特网协议的重要性,每个人就各个协议及其作用取得一致认识是很重要的,这样人们就能够创造协同工作的系统和产品。这正是标准发挥作用的地方。因特网标准(Internet standard)由因特网工程任务组(Internet Engineering Task Force, IETF) [IETF 2016] 研发。IETF 的标准文档称为请求评论(Request For Comment, RFC)。RFC最初只是普通的请求评论(因此而得名),目的是解决因特网先驱者们面临的网络和协议问题[ Allma 2011]。RFC文档往往是技术性很强并相当详细的。它们定义了 TCP、IP、HTTP (用于 Web)和 SMTP(用于电子邮件)等协议。目前已经有将近 7000 个 RFC。其他组织也在制定用于网络组件的标准,最引人注目的是针对网络链路的标准。例如,IEEE 802LAN/MAN标准化委员会[IEEE 802 2016]制定了以太网和无线 WiFi 的标准。

二、服务描述

        前面的讨论已经辨识了构成因特网的许多部件。但是我们也能从一个完全不同的角度,即从为应用程序提供服务的基础设施的角度来描述因特网。除了诸如电子邮件和 Web 冲浪等传统应用外,因特网应用还包括移动智能手机和平板电脑应用程序,其中包括即时讯息、与实时道路流量信息的映射、来自云的音乐流、电影和电视流、在线社交网络、视频会议、多人游戏以及基于位置的推荐系统。因为这些应用程序涉及多个相互交换数据的端系统,故它们被称为分布式应用程序(distributed application)。重要的是,因特网应用程序运行在端系统上,即它们并不运行在网络核心中的分组交换机中。尽管分组交换机能够加速端系统之间的数据交换,但它们并不在意作为数据的源或宿的应用程序。
        我们稍深入地探讨一下为应用程序提供服务的基础设施的含义。为此,假定你对某种分布式因特网应用有一个激动人心的新想法,它可能大大地造福于人类,或者它可能直接使你名利双收。你将如何把这种想法转换成一种实际的因特网应用呢?因为应用程序运行在端系统上,所以你需要编写运行在端系统上的一些软件。例如,你可能用Java、C或python编写软件。此时,因为你在研发一种分布式因特网应用程序,运行在不同端系统上的软件将需要互相发送数据。此时我们碰到一个核心问题,这个问题导致了另一种描述因特网的方法,即将因特网描述为应用程序的平台。运行在一个端系统上的应用程序怎样才能指令因特网向运行在另一个端系统上的软件发送数据呢?
        与因特网相连的端系统提供了一个套接字接口(socket interface),该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交付数据的方式。因特网套接字接口是一套发送程序必须遵循的规则集合,因此因特网能够将数据交付给目的地。我们做一个简单的类比,假定Alice使用邮政服务向Bob发一封信。当然,Alice不能只是写了这封信(相关数据)然后把该信丢出窗外。相反,邮政服务要求alice将信放入一个信封中;在信封的中间写上Bob的全名、地址和邮政编码;封上信封;在信封的右上角贴上邮票;最后将该信封丢进一个邮局的邮政服务信箱中。因此,该邮政服务有自己的"邮政服务接口"或一套规则,这是Alice必须遵循的,这样邮政服务才能将她的信件交付给Bob。同理,因特网也有一个发送数据的程序必须遵循的套接字接口,使因特网向接收数据的程序交付数据。
        当然,邮政服务向顾客提供了多种服务,如特快专递、挂号、普通服务等。同样,因特网向应用程序提供了多种服务。当你研发一种因特网应用程序时,也必须为你的应用程序选择其中的一种因特网服务。

三、小结

        本文主体内容来自于《计算机网络 自顶向下方法》[美]James F.Kurose  Keith W.Ross。一本很好的书,笔者根据自己的需求和判断进行了一定部分的删减形成了本文,如果你时间充足,推荐阅读原书,本系列旨在快速了解和熟悉一些基本概念。

        文中对重要的术语进行了加粗,其实本文的目的也就是让我们了解这些基本概念,这里最后进行一个简单的回顾。

1、主机(host)/ 端系统(end system)

        同一个概念,指的是接入因特网的设备,例如个人pc,智能手机,平板电脑等一切可以上网的设备。

2、通信链路(communication link)

        通信传输的介质,由不同类型的物理媒体组成。

        关于这部分的详细内容,在下文中有详细介绍:

计算机网络扫盲(2)——网络边缘icon-default.png?t=N7T8https://blog.csdn.net/apple_53311083/article/details/134757655?spm=1001.2014.3001.5502

3、分组交换机(packet switch)

        分组交换机从它的一条通信链路接收达到的分组,并从它的一条出通信链路转发该分组。可以分成路由器(router)和链路层交换机(link-layer switch)

4、分组(packet)

        当一台端系统要向另一台端系统发送数据的时候,发送端系统将数据分段,并为每段加上首部字节。这就构成了一个分组。 

5、路径(route 或 path)

        从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径(route 或 path)。

6、因特网服务提供商(Internet Service Provider,ISP)

      端系统通过因特网服务提供商(Internet Service Provider,ISP)接入因特网  

7、协议(protocol)

         端系统、分组交换机和其他因特网部件都要运行一系列协议(protocol),这些协议控制因特网中信息的接收和发送。TCP (Transmission Control Protocol,传输控制协议)IP (Internet Protocol,网际协议)是因特网中两个最为重要的协议。P协议定义了在路由器和端系统之间发送和接收的分组格式。因特网的主要协议统称为TCP/IP。

8、 因特网标准(Internet standard)

        世界上网络设备不计其数,遵循同一套协议非常的重要,因此就有了因特网标准。因特网标准(Internet standard)由因特网工程任务组(IETF)研发。IETF 的标准文档称为请求评论(Request For Comment, RFC)

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

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

相关文章

CRM系统是怎样帮助销售流程自动化的?

销售业绩是衡量企业经营的重要指标,也是销售人员一直要达成的目标。销售业绩能否提高取决于销售人员的能力、客户服务水平,还需要借助有效的工具。CRM系统就是这样的一款软件。企业如何提高销售业绩?不妨试试CRM销售流程自动化。 CRM如何实现…

【C语言:数据在内存中的存储】

文章目录 1.整数在内存中的存储1.1整数在内存中的存储1.2整型提升 2.大小端字节序2.1什么是大小端2.2为什么有大小端之分 3.整数在内存中的存储相关题目题目一题目二题目三题目四题目五题目六题目七 4.浮点数在内存中的存储4.1浮点数存的过程4.2浮点数取得过程 在这之前呢&…

openGauss学习笔记-137 openGauss 数据库运维-例行维护-检查和清理日志

文章目录 openGauss学习笔记-137 openGauss 数据库运维-例行维护-检查和清理日志137.1 检查操作系统日志137.2 检查openGauss运行日志137.3 清理运行日志 openGauss学习笔记-137 openGauss 数据库运维-例行维护-检查和清理日志 日志是检查系统运行及故障定位的关键手段。建议按…

Windows下安全认证机制

NTLM(NT LAN Manager) NTLM协议是在Microsoft环境中使用的一种身份验证协议,它允许用户向服务器证明自己是谁(挑战(Chalenge)/响应(Response)认证机制),以便…

TA-Lib学习研究笔记(八)——Momentum Indicators 中

TA-Lib学习研究笔记(八)——Momentum Indicators 中 Momentum Indicators 动量指标,是最重要的股票分析指标,能够通过数据量化分析价格、成交量,预测股票走势和强度,大部分指标都在股票软件中提供。 11. …

对el-select封装成组件使用

效果与直接使用el-select一样&#xff0c;多处用el-select显得代码冗余就进行了封装 效果图&#xff1a; el-select封装&#xff1a; <template><div class"my-select"><el-selectv-model"person.modelValue":placeholder"placehold…

Linux中的文件IO

文章目录 C语言文件操作系统文件I/O接口介绍 open函数返回值文件描述符fd0 & 1 & 2文件描述符的分配规则 重定向使用 dup2 系统调用 FILE理解文件系统理解硬链接软链接acm 动态库和静态库静态库与动态库生成静态库生成动态库&#xff1a; C语言文件操作 先来段代码回顾…

DBeaver 社区版(免费版)下载、安装、解决驱动更新出错问题

DBeaver 社区版&#xff08;免费版&#xff09; DBeaver有简洁版&#xff0c;企业版&#xff0c;旗舰版&#xff0c;社区版&#xff08;免费版&#xff09;。除了社区版&#xff0c;其他几个版本都是需要付费的&#xff0c;当然相对来说&#xff0c;功能也要更完善些&#xff…

Fiddler抓包工具之fiddler设置过滤

fiddler设置过滤 基本的过滤操作流程以百度为例 步骤&#xff1a; 1、右侧高级工具栏点击Filters》勾选Use Filters》选择Show only Internet Hosts和Show only the following Hosts》在文本框中输入host地址 2、点击Changes not yet saved》再点击Actions》Run Filterset …

Azure Machine Learning - 在 Azure AI 搜索中创建全文查询

Azure AI搜索中如果要为全文搜索生成查询&#xff0c;本文提供了设置请求的步骤。 本文还介绍了查询结构&#xff0c;并说明了字段属性和语言分析器如何影响查询结果。 关注TechLead&#xff0c;分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验&a…

RISC-V_WCH系列微控器软件体系云端快速架构

1 概述 RISC-V内核的微控器MCU&#xff0c;正在以更高的性价比&#xff0c;快速取代传统的各类ARM系列微控制处理器。 针对常用的芯成RISC-V内核的泌恒WCH系列微控器MCU&#xff0c;推出了&#xff1a;RISC-V_WCH系列微控器软件体系快速架构云平台。只要以身份证号码做用户名…

交换综合实验

目录 一、实验拓扑 二、实验要求 三、实验步骤 1、链路聚合&#xff08;配置Eth-trunk&#xff09; 2、配置vlan&#xff08;创建划分vlan&#xff0c;配置trunk干道&#xff09; 3、MSTP配置 4、VRRP配置 5、DHCP配置 6、vlan互通 7、NAT配置&#xff08;做ACL&#…

idea 旧项目替换成新项目(项目名称,模块,代码)

文章目录 修改项目名全局替换包名替换模块、文件前缀&#xff08;一定要先替换包名&#xff09;局部替换xml、yml等其他文件修改本地项目文件夹名称修改git配置 修改项目名 右击项目名称->Refactor->Rename(shiftF6) ctrlaltshifts 全局替换包名 全局选中包名替换&…

C++入门篇第十篇----继承

前言&#xff1a; 本篇我们将开始讲解C的继承&#xff0c;我想要说的是&#xff0c;C的主体基本就是围绕类和对象展开的&#xff0c;继承也是以类和对象为主体&#xff0c;可以说&#xff0c;C相较于C优化的地方就在于它对于结构体的使用方法的高度扩展和适用于更多实际的场景…

Java语法之字符串类型

String类 在Java中&#xff0c;使用String类定义字符串类型&#xff0c;如下&#xff1a; String s1"hello";System.out.println(s1); 字符串拼接 只要s1s2即可 在字符串中&#xff0c;如果俩个字符串进行相加&#xff0c;那他就是字符串拼接的意思 补充 如上&am…

c++异常介绍

一 . C语言传统的处理错误的方式 1. 终止程序&#xff0c;如assert&#xff0c;缺陷&#xff1a;用户难以接受。如发生内存错误&#xff0c;除0错误时就会终止程序。2. 返回错误码&#xff0c;缺陷&#xff1a;需要程序员自己去查找对应的错误。 二 . C异常概念及使用 当一个…

6.7 Windows驱动开发:内核枚举LoadImage映像回调

在笔者之前的文章《内核特征码搜索函数封装》中我们封装实现了特征码定位功能&#xff0c;本章将继续使用该功能&#xff0c;本次我们需要枚举内核LoadImage映像回调&#xff0c;在Win64环境下我们可以设置一个LoadImage映像加载通告回调&#xff0c;当有新驱动或者DLL被加载时…

zookeeper实操课程Acl 访问权限控制,命令行测试

本系列是zookeeper相关的实操课程&#xff0c;课程测试环环相扣&#xff0c;请按照顺序阅读测试来学习zookeeper。阅读本文之前&#xff0c;请先阅读----​​​​​​zookeeper 单机伪集群搭建简单记录&#xff08;实操课程系列&#xff09;。 阅读本文之前&#xff0c;请先阅读…

ipvlan介绍

最近使用docker&#xff0c;涉及到需要跨多台物理机部署系统&#xff0c;查了好多资料&#xff0c;最后查到了ipvlan。那什么是vlan&#xff0c;什么又是ipvlan。 交换机层面的vlan&#xff0c;是按802.1Q规范&#xff0c;在链路层中加了4字节的标识vlan的数据&#xff0c;交换…

YUVRGB

一、直观感受 根据上面的图片&#xff0c;不难看出&#xff1a; RGB的每个分量&#xff0c;是对当前颜色的一个亮度值Y分量对呈现出清晰的图像有着很大的贡献Cb、Cr分量的内容不太容易识别清楚YUV将亮度信息&#xff08;Y&#xff09;与色度信息&#xff08;UV&#xff09;分离…