计算机网络
-
LAN(局域网)
-
以太网
- 由于电缆上的每一个人都是可以看到的,所以提出了MAC地址
-
载波侦听多路访问 CMSA 多台电脑共享一个传输介质
- 载体是指 运输数据的共享媒介
- 🚩以太网 载体是 铜线
- 🚩 WIFI 传播无线电波的空气
- 很多计算机同时侦听载体 所以叫做侦听和多路访问
- 载体传输数据的速度 带宽
- 载体是指 运输数据的共享媒介
-
传输数据期间 检测到数据冲突
- 增长不同的等待时间
- 指数级的等待时间增长 指数退避
- 增长不同的等待时间
-
🚩引入交换机,减少冲突
-
连接两台很远的计算机,最简单就是一条专用的通信线路
- 以上叫做电路交换
-
另一个 报文交换
- 不会有一个专有线路,会有中转点(路由)
- 跳数 中间需要的经过的路由的个数 跳数限制
- 大文件
- 会造成阻塞
- way: 将大报文分成小块 数据包
- 报文格式 :由’互联网协议(internet protocol)‘定义 简称IP
-
-
每一台联网的计算机都需要一个IP
- 路由器会平衡与其他路由器之间的负载:从而保证传输的快速可靠,叫做 阻塞控制
- 关于不同的数据包的到达顺序不同 乱序问题
- 出现了TCP/IP
- 分组交换
-
29 互联网
计算机和一个巨大的分布式网络联系在一起
- 首先 连接到局域网 LAN
- 家里的wifi路由器连着的设备组成了 局域网
- 局域网再连接到广域网 WAN(wide area network)
- WAN的路由器 一般属于“互联网服务提供商” ISP (internet service provider)
类似中国电信 移动 联通
- 广域网里一般先连到一个区域性路由器,(覆盖一个街区)->在连接到一个更大的WAN(比如覆盖一个城市)
- WAN的路由器 一般属于“互联网服务提供商” ISP (internet service provider)
- 数据想在互联网上传输要符合“互联网协议 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(网络中立性) : 平等对待所有数据包 速度和优先级