【计算机科学速成课】[40集全/精校] - Crash Course Compu

网络重点笔记
- 计算机近距离构成的小型网络叫局域网 简称LAN
- 为了解决信息发送对象的问题,以太网为每台计算机有唯一的媒体访问控制地址,MAC地址
- 解决冲突 加入随机时间,不同的计算机等待时间不同 指数退避
传输时检测冲突 会等一秒+随机时间 再次发生冲突2 4 8 16
路由
报文交换 可以用不同路由,使通信更可靠更能容错
消息沿着路由跳转的次数叫“跳数”(hop count) 跳数限制
缺点:
报文比较大,会堵塞网络 因为要把整个报文从一站传到下一站后才能继续传递其他报文
解决方法 将大报文分成很多小块,叫“数据包”
报文具体格式由“互联网协议”定义 简称ip
路由器平衡与其他路由器之间的负载 以确保传输可以快速可靠,这叫“阻塞控制”
同一个报文的多个数据包会经过不同线路 到达顺序可能会不一样,这对一些软件是个问题 这就引入了TCP/UDP协议解决乱序问题
分组交换
WAN
互联网 巨型分布式网络,会把数据拆成一个个数据包来传输
数据包(packet)想在互联网传输要符合“互联网协议”的标准,简称ip
IP

分为两部分 数据包头部存目标地址, 末端存放数据
当数据包到达电脑时,不知道把包交给哪个程序
用户数据报协议 UDP
IP 负责把数据包送到正确的计算机
UDP 负责把数据包送到正确的程序
UDP报文形式如下:

每个想访问网络的程序,都要想操作系统申请一个端口号,当一个数据包到达接收方的操作系统时,会读UDP头部,读里面的端口号
UDP头部有“校验和”,用于检查数据是否正确,接受方收到数据后,会对数据进行加和,并于UDP头部的“校验和” 对比,以查验数据的正确性
UDP 不提供数据修复或数据重发的机制 接收方知道数据损坏,只能扔掉 同时发送后无法知道数据包是否到达目的地
应用在视频通话
传输控制协议 TCP
所有数据必须到达

TCP 头部也有“端口号”和“校验号”
- TCP数据包有序号,接受完毕后会重新排序
- TCP要求接收方的电脑收到数据包并且“校验号”检查无误后,给发送发发一个确认码(ACK),代表收到了。

可以同时发多个数据包

确认码的成功率和来回时间可以推测网络的拥堵程度
缺点:
- 确认码数据包把数量翻了一倍 (特别是对时间要求很高的程序 射击游戏)
计算机访问一个网站时,需要两个东西:
- IP地址
- 端口号

DNS
负责把域名和IP地址一一对应

域名结构

网络层级

- 物理层
线路的电信号 无线信号
- 数据链路层
负责操控物理层 媒体访问控制地址(MAC),碰撞检测,指数退避,一些底层协议
- 网络层
各种报文和路由