香农定理
信道容量
信噪比(dB) = 10*lg (S/N)
信道的极限信息传输速率 C(信道容量) :
C = W*log2 (1+ S/N) b/s
其中:W为以HZ单位的信道带宽, S/N为信道内信号与噪声功率之比
多路复用
频分复用
频分复用是按频率划分不同的子信道,每个子信道占用不同的频率范围。采用调制技术,将信号搬移到信道相应的频段上。
时分复用
时分复用(TDM)是采用同一物理连接的不同时段来传输不同的信号,也能达到多路传输的目的。
码分复用
码分复用是用一组包含互相正交的码字的码组携带多路信号。采用同一波长的扩频序列,频谱资源利用率高,与WDM结合,可以大大增加系统容量。
波分复用
波分复用就是光的频分复用,即在一根光纤上传输多路光载波信号。
差错控制
网络传输过程中会有差错,通常有以下几种方法来实现差错控制。
1.检错重发 :接收端检测到差错设法通知发送端重发,如ARQ。
2.前向纠错 :接收端发现差错后,直接纠正错码。
3. 混合纠错检错: 少量差错情况下自动纠正,否则自动请求重传。
4.信息反馈: 1:1检测数据完整性
循环冗余码(CRC)
算法原理挖坑
Ethernet(以太网)
- 两个主机传信时发现冲突的时间叫争用期
- 以太网采用CSMA/CD媒体访问方法
- 碰撞(或者称为冲突)在所难免
- 二进制指数退避算法: 牺牲时间效率,换取冲突概率减小
以太网拓展有两种方式:
- HUB(集线器)
集线器是物理层拓展,它会将一个端口收到的数据发送给所有端口的主机,缺点是HUB会扩大冲突域,因为在以太网中,数据发送是以广播的形式进行的,因此在一个域中只允许一个主机发送数据,若同时有两个主机发送数据,则会按照CSMA/CD的冲突规则进行,即全部数据帧失效。因此,HUB是共享一个端口的速率,效率也因此较低
- Switch(交换机)
交换机是数据链路层的拓展,它会在给两个端口建立一个专属的通道,而不会将数据发送给全部端口,不同端口间的通信是可以并发进行的。
交换机有三种交换方式: 直通交换方式:交换机只读取数据帧头,根据MAC地址直接转发数据。 存储转发方式: 发送到交换机的数据会先经过缓冲区,会先经过CRC校验后再决定是否通知源主机重发,这种方式可能会带来较大的时延,但这种交换方式可以控制各个端口间通信的速度。 无碎片转发方式: 相对存储转发方式,通过优化,降低了时延。
虚拟局域网(VLAN)
即网段隔离,它可以实现在物理层面上连接到同一个交换机的主机之间相互隔离,这样做的好处是可以避免广播风暴(因为CSMA是广播传信协议,在ARP表建立之前,一个报文会发送给所有的主机)或者也可以利用VLAN建立一个权限管理系统,增加局域网的安全性。
IPV4
A类地址第一部分范围: 1~126
B类地址第一部分范围: 128.0 ~ 191.255
C类地址第一部分范围:192.0.0 ~ 223.255.255
IPV6
128bit
套接字
套接字=<IP地址,端口>
UDP
1.无连接传输,传输尽力而为
2.协议格式简单,适合对数据准确性要求不是特别高
UDP报文头格式
伪首部{【源IP地址】【目的IP地址】【0】【17(UDP协议号)】【UDP长度】}共12字节
源端口(两字节)
目的端口(两字节)
数据长度(两字节)
校验和(两字节)
TCP
五元组= <源IP地址,源端口,目的IP地址, 目的端口,传输协议>
TCP(三次建立连接握手,四次挥手断开连接)
三次连接握手:
-
客户端向服务器发送SYN请求连接
-
服务器发送ACK回应请求,并同时发送一个SYN的请求给客户端连接
-
客户端回应ACK应答
四次挥手断开连接:
-
客户端主动关闭,发送FIN请求
-
服务器回应ACK应答
-
服务器被动关闭,发送FIN请求
-
客户端回应ACK应答
连接状态是双向的,即客户端向服务端请求连接后,服务端也需要向客户端请求连接。
可靠连接机制
1.序号确认机制:
在TCP报文头中有一个序号段,说明了本报文段所发送的数据项目组第一个字节的序号,还有一个确认序号位,是期望收到对方下次发送的数据的第一个字节的序号。
即在客户端发送一段270字节数据后,发送Seq=1,Ack=1
而后服务端收到数据作出确认时,需要响应 Seq=1, Ack=271 即期望下一次客户端发送的第一个数据流的序号为271
服务端向客户端发送一段50字节数据后,发送Seq=1, Ack=271
而后客户端收到数据作出确认时, 需要响应 Seq=51, Ack=271, 即期望下一次服务端发送的第一个数据流的序号为51
2.超时重传机制:
超时重传时间RTO公式 -> RTO=RTT+ 4* RTTD
往返时延RTT公式 ->
RTTnew = RTTsample ( 第一次测量得到的RTT样本值)
RTTnew = α* RTTold + ( 1-α) * RTTsample (第二次以后的测量)
3.定时器
- 建立连接定时器(connection-establishment timer)
- 重传定时器(retransmission timer)
- 延迟应答定时器(delayed ACK timer)
- 坚持定时器(persist timer)
- 保活定时器(keepalive timer)
- FIN_WAIT_2定时器(FIN_WAIT_2 timer)
- TIME_WAIT定时器 (TIME_WAIT timer, 也叫2MSL timer)