计算机概述(五)——计算机网路

计算机概述系列目录

第一章 计算机概述(一)——计算机发展历程与基础表示

第二章 计算机概述(二)——构建CPU

第三章 计算机概述(三)——编程介绍

第四章 计算机概述(四)——计算机的快速发展

第五章 计算机概述(五)——计算机网路


文章目录

  • 计算机概述系列目录
  • 前言
  • 一、计算机网络进化史
    • (一)以太网
  • 二、互联网协议
    • (一)计算机通过互联网访问网站过程
    • (二)数据包在互联网上传输需遵循的标准
      • 1、数据包达到计算机——互联网协议(IP)
      • 2、数据包达到程序
    • (三)域名系统(Domain Name System,DNS)
    • (四)网络通信模型——开放式系统互联通信参考模型(Open System Interconnection Model)
  • 三、万维网(World Wide Web)
  • 四、浏览器(Browsers)


前言

学习计算机概述,目前参考资料来源《计算机科学速成课》(https://www.bilibili.com/video/BV1EW411u7th?p=3),以后逐步补充、更新。
本章主要讲述计算机网络如何形成的、网页是如何形成、如何访问的。


一、计算机网络进化史

计算机网络的出现,便于计算机之间的信息交换且共享了物理资源。
计算机概述(五)——计算机网路_第1张图片

(一)以太网

最简单的形式:一条以太网电线连接数台计算机。当计算机需要传送数据给另一台计算机时,以电信号形式将数据传入电缆。
计算机概述(五)——计算机网路_第2张图片

问题一:电缆是共享的,处于同一网络的计算机都可以收到该数据,如何指定接收的计算机。
解决方法:每台计算机有唯一的媒体访问控制地址(Media Access Control Address,MAC地址) ,作为每台计算机的标识。在发送数据,会将这个唯一的地址作为数据的前缀发送到网络中。计算机只有看到自己MAC地址才处理数据。

问题二:共享载体会存在写入数据时载体冲突的问题。当网络流量少时,计算机可以等待载体清空后传送数据;网络流量上升时,两台计算机同时写入数据的概率上升(冲突)。
解决方法:

  1. 停止传输,计算机检测到冲突时,等待网络空闲再试一次。但如果其他等待中的计算机也采用同样的方法,结果就是冲突越来越多;
  2. 以太网采用的简单办法:遇到冲突时,让计算机等待一段时间后再重新上传数据。为了避免所有计算机等待时间相同以及减少冲突次数,等待时间采用指数退避(Exponential Backoff),即先等待0~1秒+随机时间,如果还拥堵,则时间变为0~2秒+随机时间,0~4秒+随机时间。

问题三:当计算机越来越多时,仅用一跟电缆连接,会增加冲突,传输效率也会变慢。
解决方法:减少同一载体中设备的数量——使用交换机(switch)将一个冲突域拆分成更小的网络。交换机会记录MAC地址在哪个网络中,这样不跨网络的数据传输就可以同时进行,不用考虑冲突问题。
计算机概述(五)——计算机网路_第3张图片
问题四:当计算机之间相距较远时,如何解决数据传输问题。
解决方法:

  1. 直接分配一条专用的通信线路连接两台计算机。单人使用冲突少,多人使用需要等待线路空闲,且成本高。
  2. 报文交换(Message Switching)。在距离较远的两台计算机或网络之间,建立多个站点(路由Routing),这样两台计算机之间的传输路线就有多种可能,以此减少冲突且容错性、可靠性更高。
    计算机概述(五)——计算机网路_第4张图片
    问题五:报文交换时如果报文较大时,需等该文件传到下一站点才能传另外的数据,这样会导致道路阻塞。
    解决办法:分组交换(Packet Switching)。将大报文分成很多小块,称为数据包(Packets),传输数据包即可,每一个数据包都有目标地址,由互联网协议(Internet Protocol,IP)定义,每一个计算机都有一个IP地址。此外,由于报文被分成多个数据包,在进行报文交换时数据包达到目的地的顺序不同,为了解决乱序问题应遵循TCP/IP协议。
  1. 多台电脑共享一个传输媒介的方法,称为“载波侦听多路访问”(Carrier Sense Multiple Access,CSMA)。
  2. 载体(carrier)指运输数据的共享媒介,如以太网的载体为铜线,WIFi载体为传播无线电波的空气。载体传输数据的速度称为带宽。
  3. 载体和其中的设备总称为“冲突域”(Collision Domain)。
  4. 跳数(hop count):消息沿着路由跳转的次数。路由记录跳数能够避免数据在路由之间反复跳动的问题、节省带宽。(eg:A认为到C的最快路径是B,B认为到C的最快路径是A,这样数据就会在A、B之间反复横跳,这时检测到跳数很高,以此判断出错的路由——跳数限制(Hop Limit))
  5. 阻塞控制:路由器(routers)会平衡与其他路由器之间的负载,以确保传输可以快速可靠。
  6. IP地址和MAC地址的区别:MAC地址具有唯一性,出厂时固定,分配基于制造商,转发数据帧;IP地址不唯一,可更改,分配基于网络拓扑,转发报文。

二、互联网协议

互联网是一个巨型分布式网络。

(一)计算机通过互联网访问网站过程

数据包——局域网——广域网——互联网主干——网站服务器
发送的数据包连接局域网(由家里路由器连接所有设备构成) ,局域网再连到广域网(Wide Area Network,WAN)。WAN的路由器一般属于互联网服务提供商(Internet Service Provider,ISP,如中国电信、移动等)。WAN中,先连到一个区域性路由器(可能覆盖一个街区),在连到一个更大的WAN中(如包含整个城市的),最终达到互联网主干(由一群超大型、带宽超高路由器组成),再从换联网主干跳到网站的服务器。

(二)数据包在互联网上传输需遵循的标准

1、数据包达到计算机——互联网协议(IP)

数据包头部只为目标地址,即IP只是让数据包传到对应的计算机中。
计算机概述(五)——计算机网路_第5张图片

2、数据包达到程序

  1. 用户数据报协议(User DataGram Protocol,UDP)
    UDP的头部中存储着端口号、校验和等信息。
    端口号就是访问网络的程序向操作系统申请的、用于识别程序的序号。接收方接受信息时,就会读取该端口号找到正确的程序。
    校验和(checksum)用于检查数据是否正确。校验时,会将DATA中的数据相加,之和与校验和进行对比,以判断数据是否有丢失。
    优点:速度快、简单
    缺点:不提供数据修复或数据重发的机制,即接收端判断出数据有误只能扔掉,发送端无法知道数据是否到达。
    计算机概述(五)——计算机网路_第6张图片
  2. 传输控制协议(Transmission Control Protocol,TCP)
    TCP的头部除了含端口和校验和之外,还有许多功能如下:
    (1)TCP数据包的序号。序号使接收方把数据包排成正确顺序。
    (2)TCP确认码。TCP会要求接收方收到数据包并校验和之后,向发送方发一个确认码(acknowledgement,ACK),表示数据全部达到,发送方收到确认码后才发送下一个数据包,未收到,发送方会再发一次。
    优点:可以处理乱序;确认码的成功率和来回时间,可以推测网络的拥堵程度,TCP根据该信息同时调整发包数量,以解决拥堵问题。
    缺点:由于多了确认码,速度相对较慢,不适合对时间要求较高的程序
    计算机概述(五)——计算机网路_第7张图片

(三)域名系统(Domain Name System,DNS)

基本原理:将域名与IP一一对应,方便记忆网址,类似于电话本。当在浏览器中输入域名(即网址)后,浏览区会通过DNS服务器(ISP提供),得到该网址的IP地址。
DNS存储的是树状结构,以方便管理。
计算机概述(五)——计算机网路_第8张图片
计算机概述(五)——计算机网路_第9张图片

(四)网络通信模型——开放式系统互联通信参考模型(Open System Interconnection Model)

物理层:载体中的电信号、WIfe信号
数据链路层:负责操控物理层(有MAC、碰撞检测、指针退避等)
网络层:负责各种报文交换和路由
传输层:UDO和TCP协议(负责计算机之间进行点到点的传输)
会话层: 使用TCP和UDP创建连接,传递信息,然后关掉连接。

计算机概述(五)——计算机网路_第10张图片

三、万维网(World Wide Web)

万维网是通过互联网传输数据最多的网页集合。最基本的单位是单个页面,通过超链接(Hyperlinks)将单个页面集合起来,形成巨大的互联网络。

  1. 统一资源定位器(Uniform Resource Locator,URL)——提供超链接的基础
    为便于网页之间相互连接,每一个网页都有一个唯一的地址,成为URL。
    定位过程:以pidaxia.com/courses为例
    计算机首先通过DNS查找到pidaxia.com的IP地址,浏览器通过TCP连接到IP,该地址运行着网络服务器。然后向服务器请求coures页面。
  2. 超文本传输协议(Hypertext Transfer Protocol,HTTP)——计算机与服务器之间的沟通
    超文本传输协议中规定了多个指令。如通过GET指令得到想到的页面。
    向服务器发送指令GET /courses,服务器就会返回该地址对应的网页,让浏览器渲染到屏幕上。
    计算机概述(五)——计算机网路_第11张图片
  3. 超文本标记语言(Hypertext Markup Language,HTML)——超链接标识表示
    超文本的存储和发送都是以普通文本形式,无法区分出哪些是超链接。解决办法通过HTML来表示超文本。
    计算机概述(五)——计算机网路_第12张图片

四、浏览器(Browsers)

作用:与网页服务器沟通,获取网页和媒体并显示。
问题:如果不知道域名如何获取网页。
解决办法:

  1. 人工编辑目录,通过将网页分类的形式查找网页,如万维网指南。
    计算机概述(五)——计算机网路_第13张图片
  2. 搜索引擎
    搜索引擎由以下三部分构成:
    一是爬虫。跟着链接跑的软件,每当看到新链接就加进自己的列表。——相当于链接容纳箱。
    二是不断扩张的索引。记录访问过的网页上出现过的词。——相当于网页的特征。
    三是查询索引的算法。——如何提取特征
    早期采用排名算法,即搜索排序取决于搜索词在网页中出现的次数,次数高的在前。但容易出现恶意在网站中添加搜索词的情况,比如全是CAT单词的页面。规避的算法(Google搜索引擎):看其他网站有没有链接这个网站,链接多的网站在前,而垃圾网站就会被甄别。

你可能感兴趣的:(计算机概述,网络,网络协议,经验分享)