【计算机科学速成课】计算机网络

视频网址:https://www.bilibili.com/video/av21376839/?p=28

概念解释(from 38-40集)

LAN:局域网

Ethernet:以太网——局域网的一种

MAC地址:媒体访问控制地址——解决以太网中有多台计算机时,传数据不会传给其他的电脑的问题,计算机只有看到自己的MAC地址时,才会处理数据

CSMA:载波侦听多路访问———多台电脑共享一个传输媒介
- 媒介:即为传输载体,例如以太网中媒介未铜线,WiFi的媒介为空气
- 很多计算机同事侦听,因此叫“侦听”、“多路访问”

宽带:载体传输速度

指数退避:计算机为了降低传输冲突,会在检测到拥堵后,随机等在n秒再重传,若发现依然冲突,则等待n²秒,呈指数增长,直到传输成功

冲突域:载体和其中的设备总称
- 配合交换机(SWITCH),可将一个大型的冲突域(即一个大型的网络结构),分解为若干个小的冲突域,这样不同的冲突域之间内部信息交流不会影响其他的冲突域

电路交换:通过一条专属的电路连接两个通讯地点,缺点为效率低且昂贵

报文交换:两个通讯点间有多个站点(即可以得到多条不同的线路),优点为通信更可靠更能容错

路由:即为报文交换的站点

跳数:消息沿着路由跳转的次数,

跳数限制:若跳数很高,则可得知路由出了问题,例如在两个路由间循环传递消息

数据包:将大文件拆分成小文件再传输,可避免传输一个大文件需要时间很长导致整条路都堵塞

IP:互联网协议——定义数据包的具体格式

IP地址:数据包的目的地址(即路由地址、服务器地址)

阻塞控制:路由器会平衡与其他路由器之间的负载,以确保传输可以快速可靠

TCP/IP:同一个报文的多个数据包会经过不同线路传输,因此到达目的地的顺序不一样,因此用TCP/IP协议解决乱序问题

分组交换:将数据拆成多个小数据包,然后通过灵活的路由传递

其他用于全球传输数据的标准协议
- ICMP:因特网控制消息协议
- BGP:边界网关协议

物联网:智能家电组成的网络

计算机连接网络看Youtube的过程
1. 连接到局域网,即LAN
2. 局域网再连接到广域网,即WAN(IPS:互联网服务提供商,WAN的路由器的拥有者)
3. 广域网中依次再连接到更大的WAN
4. 最终到达互联网主干
5. 沿着主干达 到有对应视频问价的Youtube服务器

UDP:用户数据报协议,包含以下内容:
- 端口号:每个想访问网络的程序,都要向操作系统申请一个端口号,当接收方的操作系统读取UDP头部的端口号时,便可知道该将数据包给哪个程序
- 校验和:将数据求和来对比,用于检查数据是否正确

IP负责将数据包送到正确的计算机
UDP负责将数据包送到正确的程序

UDP缺点是发送方无法得知是否发送成功,接收方若得到的是损坏的数据只能扔掉,无法修复和要求重发,优点是又简单又快

TCP:传输控制协议,可令所有数据必须到达,在数据包中放置顺序为【IP HEADER | TCP HEADER | DATA】,故这种组合成为TCP/IP

TCP除有端口、校验和外,还有:
1. TCP数据包有序号,解决乱序问题
2. TCP要求接收放方电脑收到数据包并且校验无误后,给发送方发一个确认码,代表收到了
- 若过了一定时间还没收到确认码,发送方会再发送一次
- 若接收方收到重复的数据包就会删掉
3. 可以同时发多个数据包,收多个确认码
- 确认码的成功率和来回时间可以推测网络的拥堵程度
- TCP用这个信息,调整同时发包数量,解决拥堵问题

当计算机访问一个网站时,需要:
1. IP地址
2. 端口号(因为一个服务器不止提供一个服务,通过端口号来找到对应的服务)

DNS:域名系统,将域名和IP地址一一对应,类似互联网的电话簿
- 当输入域名时,浏览器会去DNS服务器找对应的IP地址
- DNS服务器由互联网供应商提供
- 若域名存在,则返回对应IP地址
- 若不存在,则返回不存在

DNS域名时存成树状结构:
TLD:顶级域名,在最顶部,例如.com .gov .org .net .edu ……
二级域名,例如.com下有google.com和dftba.com
子域名,例如images.google.com,store.dftba.com

一、“物理层”:线路里的电信号,无线网络里的无线信号

二、“数据链路层”负责操控“物理层”
数据链路层有:媒体访问控制地址(MAC),碰撞检测,指数退避,以及其他一些底层协议

三、“网络层”:负责各种报文交换和路由

四、“传输层”:例如UDP和TCP等协议,负责报文的点对点传输、检测和修复错误

五、“会话层”:使用TCP和UDP来创建连接,传递信息,然后关掉连接

互联网是传递数据的管道,各种程序都会用,其中传输最多数据的程序是万维网(即与浏览器相关),不一定所有程序都用到万维网(例如打游戏),但是所有程序都会用到互联网

URL:统一资源定位器——网页间相互连接,故每个网页要有一个独立的地址,由URL规定

HTTP:超文本传输协议,向服务器请求更进一步的网页

计算机访问网址过程:
1. 发送域名给DNS服务器,服务器返回IP地址
2. 通过TCP协议连接到对应IP地址的服务器,并找到对应端口
3. 向服务器发送HTTP协议的内容,例如GET,到服务器中,然后服务器会返回该地址对应的网页
4. 浏览器会渲染到屏幕上
5. 若点了另一个网址,则计算机会重新发一个GET请求给服务器
6. 不断重复上述过程

HTTP的状态码:
- 200:网页已找到
- 400~499:客户端出错,例如404网页不存在

HTML:超文本标记语言,用于表明什么是链接什么不是链接

<h1>Hello!h1>
This is a web created by Vincent Lai!
Now, test the <a href = http://www.bilibili.com>link<a>to BiliBili.

<h2>Then , test the listh2>
<ol>
<li>list1li>
<li>list2li>
ol>

将上面代码写在记事本中,然后存为.html格式,打开即为一个简单的网页

其他网页相关技术:
CSS:层叠样式表
JaveScript

搜索引擎构造:
1. 爬虫,每当看到新的链接就将其加入到自己的列表里
2. 不断扩展索引,记录访问过的网页上出现过哪些词
3. 查询索引的搜索算法

网络中立性:应该平等对待所有数据包,速度和优先级应该是一样的

你可能感兴趣的:(【计算机科学速成课】计算机网络)