前言
学完计网已经一年之久,为了准备面试因此从头过一遍
章一 概述
分组交换
- 优点: 高效、灵活、迅速、可靠
- 缺点:分组转发需要排队,造成延迟;分组必须携带首部,造成开销
英特网
- 结点(计算机、集线器、交换机、路由器等)
- 网络( 由若干结点和连接结点的链路组成)
- 互联网 (通过路由器将两个以上的网络连接在一起构成覆盖范围更大的网络)
- 英特网——全球最大的互联网
因特网服务提供者ISP(Internet Service Provider)
根据提供服务的覆盖面积大小以及所拥有的
IP 地址数目的不同,ISP 也分成为不同的层次
计算机网络分类
- 个人区域网 PAN(Personal Area Network)
- 局域网 LAN(Local Area Network)
- 城域网 MAN(Metropolitan Area Network)
- 广域网 WAN(Wide Area Network)
网络拓扑结构
计算机网络性能指标
- 速率(在数字信道上传送数据的速度)
- 带宽(模拟信道:通过信号的频带范围【Hz】数字信道:发送速率)
- 吞吐量(在单位时间内通过某个网络的数据量)
- 时延(=发送时延 + 传播时延 + 排队时延 + 处理时延)
TCP/IP 体系结构(四层)
美国互联网专家提出
五层协议体系结构
综合 OSI 和 TCP/IP
应用层
- 报文:首部 + 应用进程数据
运输层
- 协议:TCP/UDP
- TCP/UDP 协议通过端口号为一对应用进程之间的通信提供支持
- 报文段:首部(端口号) + 应用层数据
网络层
- 通过 IP 协议向运输层提供服务
- 根据目的 IP 地址选择路由
- IP 数据报:首部(IP 地址) + 运输层数据
数据链路层
- 通过本层协议向网络层提供服务
- 帧:首部(物理地址MAC) + 网络层数据 + 尾部
物理层
- 利用传输媒体向上层提供服务
- 把数据链路层的数据看做比特
- 考虑多少伏电压代表「1」或「0」
章二 物理层
常用的传输媒体
- 导向传输媒体(双绞线、同轴电缆、光纤)
- 非导向传输媒体(无线电、微波、红外线)
常见的宽带技术
- ADSL 接入技术
- HFC 技术(光纤同轴混合网)
- FTTx 接入技术(FTTH/B/C)
章三 数据链路层
封装成帧
透明传输
当所传送数据中的比特组合恰巧出现了与帧定界符完全一样时,有可靠的措施,
使收方不会将这种比特组合的数据误以为是帧定界符。
字节填充法
- 发送端在数据中出现「SOH」(01)和「EOT」(04)相同比特组合之前,插入一个转义字符「ESC」(1B),在数据中出现与转义字符相同比特之前再加一个转义字符
- 接收端在数据送往网络层的时候删除插入的转义字符
差错检测
误码率 = 传输错误比特数 / 传输比特总数
CRC 循环冗余检测 (只有检测,不能证明可靠传输)
原理:
- 假设待发送的数据 M = 1010001101(共k bit)。
- 发送端在待发送数据M的后面添加供差错检测用的 n bit 冗余码一起发送。
- 接收端根据附加在数据M后面的 n bit 冗余码 判断是否有错。
步骤:
- 确定生成冗余码位数 n
- 在待发送数据 M 后添加 n 个 0,得到(K+n)bit 的数
- 用(K+n)bit 的数做为被除数,用多项式生成的系数(二进制串)P 作为除数,进行模二运算
- 余数 R 就是冗余码 ,位数应该比 P 位数少 1 位
检测:
- 将接收到的数据(M + R)作为被除数,除以 P
- 余数 R 为 0,未出现差错;余数 R 不为0,检测到了差错
寻址
保证每一帧都能送到正确的目的站,收方也应知道发方是哪个站
典型数据链路层协议
点对点信道——ppp(ADSL)
广播信道———CSMA/CD 协议
- CSMA/CD——载波监听多点接入/碰撞检测
- “多点接入”表示许多个站(计算机)连接在一根总线上
- “载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他站在发送数据,如果有,则暂时不要发送数据,以免发生碰撞
争用期:表示一个站完整发送数据是否发生了碰撞(2τ),以太网争用期长度 51.2 μs
MAC
- 在局域网中,硬件地址又称为物理地址,或 MAC 地址。
- 该地址固化在网卡的ROM中,用来唯一标识局域网中的一台主机。
MAC帧
网桥
当网桥收到一个帧时,并不是向所有的端口转发此帧,先暂存在缓存中。若该帧未出现差错,根据此帧首部中的目的 MAC 地址,然后再确定将该帧从哪一个端口转发出去,还是不转发 。
自学习建立转发表
交换机和 HUB(集线器)
章四 网络层
数据报服务
- 网络在发送分组时不需要先建立连接, 每一个分组(即 IP 数据报)独立选择路由。
- 网络层不提供可靠的数据传输服务,即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),只要检测无错就接受。
- 网络层协议可以做的简单,从而使得路由器做的比较简单,降低整个网络的造价
IP 地址
IP地址 ::== {<网络号>,<主机号>}
网络类别 | 网络数 | 主机数 |
---|---|---|
A | 全为 0 ,本网络 全为 1 (127),本地回环测试 | 全为 0 ,本机 全为 1 ,本网络全部机器 |
B | 全为 0 ,本网络 | 全为 0 ,本机 全为 1 ,本网络全部机器 |
C | 全为 0 ,本网络 | 全为 0 ,本机 全为 1 ,本网络全部机器 |
地址解析协议 ARP
已知局域网内一台主机(或路由器接口)的IP 地址获得该主机(或路由器接口)对应的硬件地址
IP 数据报
首部前一部分为固定长度(20 字节)
首部固定部分后是一些可选字段
- 首部长度(4 bit) :1 单位为 4 字节,最大为15个单位
- 总长度(16 bit):1 单位为 1 字节
- 标志(3 bit):R、DF(0 允许分片)、MF(1 还有分片)
- 片偏移(13 bit):1 单位为 8 字节,数据报在分片后在元数据报的位置(X/8)
- 生存时间(8 bit): TTL(Time TO Live),每过一个路由,跳数-1
- 协议(8 bit):表示将 IP 数据报上交给那个处理
- 首部校验和(16 bit):只校验数据报首部
划分子网
IP地址 ::== {<网络号>,<子网号>,<主机号>}
子网掩码
- 每一个子网都要有一个子网掩码
- 32 bit
- 由一串 1 和 0 组成
- 1 对应网络号和子网号 0 对应主机号字段
无分类编址(CIDR)
IP地址 ::== {<网络前缀>,<主机号>}/网络前缀所占比特数
##路由选择协议
路由信息协议(RIP)
- RIP的核心算法是“距离向量算法”
- RIP以“距离最短”来计算路由
- “距离”为16 时即相当于不可达
章五 运输层
UPD TCP 对比
用户数据报协议 UDP
- 无连接
- 尽最大努力交付,不保证可靠性
- 简单,没有过多的机制,UDP用户数据报只有 8 个字节的首部
- 不使用拥塞控制,网络拥塞不会使源主机的发送速率降低
传输控制协议 TCP
- 面向连接
- 全双工、可靠
- 面向字节流
- 序号(4 字节):发送数据的第一个字节序号
- 确认号(4 字节):期望对方下一个发送的报文段第一个序号
- 数据便宜(4 bit):1 单位为 4字节,TCP报文段的数据起始处距离源数据起始多远
- 保留字段(6 bit):保留为今后使用
- 紧急比特 URG:1 报文中有紧急数据
- 确认比特 ACK:1 确认号有效;0 确认号无效
- 推送比特 PSH:1 尽快交付给应用程序,不等到缓存存满后上交
- 复位比特 RST:1 TCP 连接出现严重错误,必须释放,重新连接
- 同步比特 SYN:1 连接请求或者连接接受报文
- 终止比特 FIN:1 报文发送端数据发送完毕,要求释放连接
- 窗口字段(2 字节):发送窗口上限
- 校验和(2 字节):12 字节伪首部+首部+数据
- 紧急指针字段(2 字节):指出在本报文段中的紧急数据中的最后一个字节的序号
- 选项字段(可变):MSS 最大报文段长度,告诉对方 TCP 我的缓存所接收的报文段的数据字段最大长度是 MSS 个字节
- 填充字段:为了使整个首都长度是 4 字节的倍数
带序号的确认机制
- 发送端
- TCP给要发送的每个报文段带上一个序号
- TCP每发送一个报文段,启动超时定时器,并保存该报文段的副本
- 若收到确认,则删除副本
- 否则超时重发(丢失或出错)
- 接收端
- TCP收到正确的报文段发回确认
- 若收到有差错的报文段,则丢弃,不做任何处理
- 若收到重复的报文段,也丢弃,发回确认
流量控制机制
- 具体做法是:连接建立时,接收方在 TCP 报文段首部的窗口字段写入接收窗口的大小,就是当前给对方设置的发送窗口上限。
- 在通信的过程中,接收方可根据自己的接收缓存,随时动态地调整对方的发送窗口上限值(可增大或减小)。
拥塞控制机制
- 拥塞:在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏——产生拥塞。
- 网络拥塞的条件: ∑对资源需求> 可用资源
慢开始
- cwnd = 一个最大报文段MSS
- 发送方每收到一个对新报文的 ACK cwnd+1
拥塞避免
- 发送方每一个RTT cwnd+1
快重传
- 发送端一连收到三个重复的 ACK 就立刻重传丢失报文
快恢复
- 当发送端收到连续三个重复的 ACK 时,就重新设置慢开始门限 ssthresh = cwnd/2
- 拥塞窗口 cwnd 不是设置为 1,而是设置为减半后的 ssthresh的数值
- 转入拥塞避免
章六 应用层
DNS 域名系统 (53)
- 国家顶级域名
- .cn 中国
- .us 美国
- .uk 英国
- 通用顶级域名
- .com 公司企业
- .net 网络服务机构
- .org 非盈利组织
- .int 国际组织
- .edu 教育机构
- .gov 政府部门
- .mil 军事部门
域名服务器
递归查询
递归+迭代查询
www 万维网( HTTP 80)
统一资源定位符 URL
- <协议>://<主机>:<端口>/<路径>
- 协议:FTP、HTTP
过程
SMTP 发送电子邮件 (25)
DHCP 动态主机配置协议
- 发现阶段,即DHCP客户机寻找DHCP服务器的阶段
- 提供阶段,即DHCP服务器提供IP地址的阶段
- 选择阶段,即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段
- 确认阶段,即DHCP服务器确认所提供的IP地址的阶段
- 更新租用期