计算机网络
29 互联网
计算机和一个巨大的分布式网络联系在一起
- 首先 连接到局域网 LAN
- 局域网再连接到广域网 WAN(wide area network)
- WAN的路由器 一般属于“互联网服务提供商” ISP (internet service provider)
类似中国电信 移动 联通
- 广域网里一般先连到一个区域性路由器,(覆盖一个街区)->在连接到一个更大的WAN(比如覆盖一个城市)
- 数据想在互联网上传输要符合“互联网协议 internet protocol” 简称IP
- IP 是一个底层的协议 所以引入了UDP(user datagram protocol)
- 总结
- IP负责把数据包送到正确的计算机
- UDP 负责把数据包送到正确的程序
- UDP头部 中还有校验和 用于检验数据是否正确
- UDP不提供数据修复和数据重发机制
- 无法知道数据是否到达 可以使用于skype(视频通话)
- 如果需要“所有数据必须到达(比如邮件)”,TCP (Tranmission control protocol)传输控制协议
- 和UDP一样,头部也在存数据的前面
- 人们叫这个组合为TCP/IP
- TCP和UDP一样,头部也有端口号和校验和
- 特点
- 数据包有序号:可以是顺序排对,即使数据包的到达时间不一样
- TCP要求接收方的电脑收到数据包,并且”校验和无误“给 发送方发一个确认码(ACK),代表收到了,得知收到了,在发送下一个数据包,如果过了一段时间确认那没到,发送方就再发一次数据包
- 数据包同时发送多个,接收多个确认码
- 确认码的成功率和来回时间推测网络拥挤程度,从而进行调整
- 缺点: 确认码使数据包翻倍,但是没有传输更多信息
- 总结:
- 当计算机访问一个网站:需要2个东西 :1 IP地址,2 端口号
- DNS解析 [Domain Name System] (类比电话簿)
- 顶级域名 .com
- 二级域名 google.com
- 子域名 image.google,com
- 上面的数据存储在很多的DNS服务器上
新抽象
- 物理层
- 数据链路层(DATA link layer)
- 负责操控物理层
- 数据链路层有: 媒体访问控制地址(MAC) 碰撞检测 指数退避 以及 指数退避
- 网络层(network layer)
- 传输层(transport layer )
- 会话层(session layer)
- 会话层会使用TCP和UDP来创建连接,传递信息,然后关掉连接
- 完成这一套 叫做会话
- 表示层(presentation layer)
- 应用程序内层(application layer)
30集 (万维网)world wide web
万维网在互联网之上运行
互联网是传递数据的管道,各种程序都会用,其中传输数据最多的程序是万维网,分布在全球百万个服务器上
- 万维网的最基本单位,是单个页面
- 超链接的价值 :将两样东西联系在一起
- 超文本(最常指向的:另一个网页)
- 每个网页唯一的地址:URL:(Uniform resource locator)统一资源定位器
过程:
-
计算机首先做DNS查找: 访问DNS服务器:输入一个域名
-
DNS会输出对应的IP地址
-
有了IP地址,浏览器会打开一个TCP连接到这个IP地址
-
这个IP地址也运行着 网络服务器:标准端口:80 通过“IP地址+端口号”来 区分不同的服务的。
-
这个时候:计算机连接到了textcourse.com的服务器
-
下一步是向服务器请求“course”这个界面 -》这里会用超文本传输协议
(HTTP:hypertext transfer portocol)
代理服务器常用端口号
(1). HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080
(2). SOCKS代理协议服务器常用端口号:1080
(3). FTP(文件传输)协议代理服务器常用端口号:21
(4). Telnet(远程登录)协议代理服务器常用端口:23
http
-
历史上开始只有get:向服务器发送 GET /course
-
服务器会返回改地址对应的网页:然后浏览器渲染到屏幕上
-
点击链接,然后请求服务器的这个界面 超文本
状态码也产生了
-
”超文本“的存储和发送都是一普通文本形式 -> 出现了一种标记方法 :超文本标记语言(HTML):hypertext markup language
-
网页浏览器可以和网页服务器沟通: 浏览器不仅复制获取网页和媒体,还负责显示
-
然后出现了搜索引擎:
- 三个部分
- 爬虫 跟着链接到处跑的软件
- 不断扩张的索引,记录访问过的网页上出现过那些词
- 查询索引的搜索算法 (google 成名 pagerank)
-
network neutrality(网络中立性) : 平等对待所有数据包 速度和优先级