CS 50 2016-Week6 学习笔记

来源:互联网 发布:澳大利亚买车软件 编辑:程序博客网 时间:2024/06/03 07:05

讲到计算机网络和网络协议了,network, Internet, DHCP, IP, TCP, DNS, Routers, Firewall, VPN, PING, Request, Response, Status code, HTTP, HTTPs, HTML等等


用写信来举例子真的太恰当了,或许设计计算机通信时就参考了写信的过程呢。

写信时写自己地址、目标地址和信的内容。
把信封装起来。
投入自家门口信箱。
邮局工作人员将信收集起来,将信放在投递网络中。
根据目标地址信息再几经周折到达目标地址。
目标地址服务器收到信件后,回信。
回信中除了回信内容一样要包括目标地址等信息。
回信原路返回到达写信人这儿。
再拆封,读信。


Network

手边有一本 大学计算机基础,下面内容摘抄自 大学计算机基础 第三章,字字珠玑,不想写注释了:

计算机网络是利用通信线路和通信设备,把分布在不同地理位置的具有独立处理功能的若干台计算机按一定的控制机制和连接方式互相联系在一起,并在网络软件的支持下实现数据通信和资源共享的计算机系统。
从网络的定义上可以看出:计算机网络的主体是计算机,要组成网络至少要有两台计算机进行互连;
网络的计算机称为主机(Host),也称网络结点。
网络中的结点可以是计算机的外部设备,还可以是其他通信设备(交换机、路由器等);
网络中各结点之间的连接需要一条由传输介质实现的物理相连的通道,这条通道可以是有线介质,也可以是无线介质。
网络中各结点之间互相通信或交换信息需要某些约定和规则,这些约定和规则的集合就是网络协议。


Internet

Internet 是一个由多个网络或网络群体通过网络互联设备连接而成的世界范围的大型网络。

Internet 采用TCP/IP 体系结构。

先这样理解,计算机连入互联网(Internet)后,可以通过TCP/IP 协议来实现互相通信和传输数据。


IP

IP (Internet Protocol, 互联网协议)是一个无连接协议,负责将数据分组从源地转发到目的地。(数据包中有源IP地址、目标IP地址、净载数据等)

IP 地址是 IP 为了唯一标识因特网上的结点(主机、路由器等)而采用的地址格式。(即每个结点有独一无二的IP地址)

一个IP地址由4个字节(32个二进制数)组成。

如百度的IP地址为 14.215.177.39

for-python@ubuntu:~$ nslookup www.baidu.comServer:     127.0.0.53Address:    127.0.0.53#53Non-authoritative answer:www.baidu.com   canonical name = www.a.shifen.com.Name:   www.a.shifen.comAddress: 14.215.177.38Name:   www.a.shifen.comAddress: 14.215.177.39

浏览器中访问 14.215.177.39,会到达百度首页:
(查看完整的URL: http://14.215.177.39/ 这里有http协议,等会儿再看)

这里写图片描述


DNS

上面使用IP 地址能访问Internet上的计算机。但是IP地址太难记了,为了使用一些易于记忆的、有意义的名字(域名)来标识因特网上的每个主机,可以使用DNS。

DNS(Domain Name System,域名系统)把互联网上一台或几台主机选作域名服务器,由域名服务器将域名转换成相应的IP 地址。

例如使用www.baidu.com域名访问百度。
(这里完整的URL为https://www.baidu.com/ ,https协议,s for secure; www 等会儿再说)

这里写图片描述


URL

URL(Uniform Resource Locator),顾名思义,用来定位互联网上的某个资源,互联网上的每个文件(网页、图像、视频都是一个资源),上面https://www.baidu.com/ 这个URL对应着一个HTML网页。

再比如,浏览器中访问http://a0.att.hudong.com/25/13/20200000013920144730138374514.jpg ,会看到一张图片。

URL 命名规则大致如下:

协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志


WWW

最常见、最常用的网络服务就是 WWW (World Wide Web, 万维网)了。

下面内容依然摘抄自 大学计算机基础

万维网提供的信息服务以网页的形式存储在WWW服务器中,网页上包含文本、音频、视频以及图像等信息,他们通过超文本标记语言(Hyper Text Markup Language,HTML)来描述。
网页之间使用超链接进行组织。
在用户客户机上装上浏览器,就可以方便的获取WWW服务器上的信息,两者通过HTTP(Hyper Text Transfer Protocol)进行通信。


Request & Response

大概就是WWW 服务的工作流程:


  1. 用户在浏览器地址栏输入网址。
  2. 通过域名解析系统,进行地址解析。
  3. 通过URL 向WWW服务器发出页面请求。
  4. 服务器根据客户端的请求内容将包含超文本标识或程序代码的超文本文件返回给客户端。
  5. 客户端浏览器收到后对标识或代码进行解释,并且将最终的结果在屏幕上展示给客户。


Server

服务器种类很多。
上面DNS中提到了域名服务器。
WWW中的Web服务器。
此外,还有文件服务器、应用程序服务器等等。

服务器,即提供计算服务的设备,用来处理用户请求,生成响应。


Firewall

防火墙,实际上是一种隔离技术,一部分人能连接这个网络,一部分人被挡在门外。

比如不能访问YouTube等国外网站。


VPN

VPN(virtual private network ,虚拟专用网络),又有了专用网络、公共网络的概念。
虚拟专用网络的功能是:在公用网络上建立专用网络,进行加密通讯。

上面不能访问YouTube,可以使用VPN 代理访问,大致原理如下:
客户端发送请求到VPN服务器,VPN服务器将请求转发给YouTube服务器,收到响应后,VPN服务器再将响应转发给客户端。


计算机网络中还有路由器、网关、交换机等等等等好多概念。

视频最后的HTML以前都遇到过,这儿也不写了。

下节课就到Python了,好想快点儿找到工作。

原创粉丝点击