21CN复习

1 概论

理解: 物理层是传输bit,data link layer在传输bit中增加了一些差错控制的部分,并且提供了点到点的传输。

网络层的ip协议对一个packet的首部进行了要求,保证了点到点的传输。
传输层的UDP/TCP协议解析ip的数据,并增加了新的控制信息,保证了端到端的传输。

名称单位
Physical Layerbit
Data Link Layerframe
Network Layerpacket
Transport LayerSegment
Session LayerSession
Presentaion LayerMessage

1.2 服务概念

面向连接服务:传输前建立连接,传输后断开连接
可靠服务:通过确认,保证数据有序到达

interface: 相邻两层交换信息的连接点
service: 下层提供给上层的功能
protocol: 两个同层之间的实体规定的数据解析方式

2 物理层(Physical Layer)

传输单位: bit

2.1 通信基础

1:比特和波特的转换
波特为单位,乘以 l o g 2 V log_2V log2V就是比特为单位,V是该表示方法下码元的总个数,波特率为信号每秒改变的次数。

Manchester码元个数为4,x个相位,y个辐度的码元个数为x*y
有x种变化状态,码元个数就是x

2:速率传输
noiseless 无噪声信道传输速率, 带宽为W Hz
单位:波特/s: 2W
单位:b/s,需要乘以log2V, 为2Wlog2V
noisy 有噪声信道传输速率: W log ⁡ 2 ( 1 + S / N ) W\log_2(1+S/N) Wlog2(1+S/N)
单位b/s, S/N单位dB
采用传输速率: W log ⁡ 2 V W\log_2V Wlog2V,
W是采样频率单位是Hz,整个单位是b/s, 后面log2V是采样的位数,如果给了码元数用log2V计算采样位数bit,如果给了bit则直接乘W

注意1: signal-to-noise S/N的单位是dB, 如果题目给了比值S/N,则需要单位转化为 10 l o g 10 S / N 10log_{10}S/N 10log10S/N(单位为dB),
注意2: 有噪声信道也必须满足第一个,因此哪个小按照哪个算。
注意3:如果给了波特率,只需要做单位转化,不用乘2,如果给了带宽(Hz),需要乘2并且单位转换

3:Manchester Encoding:
每个码元中间有时钟信号,前一半为1,后一半为0表示1,前一半为0,后一半为1表示0

4:奈奎斯特定理:
采用频率是最大频率的两倍

5:编码方式:
NRZ: 1信号代表1,0信号代表0
NRZI:如果和前一个相同则不反转,如果不同则翻转,可以传输时钟信号
Manchester Encoding: 每个周期分为两拍,10表示1,01表示0,在中间跳变
4B/5B码: 数据按照1.25倍扩大,其中扩大的部分为控制码

6: 交换模式
电路交换:结点之间建立物理连接,通信时一直独占,如果一个节点崩溃则无法通信。
Message 交换:无需连接,通过存储转发,有多条路径可以传输
Packet 交换:和Message的区别在于把一个报文分为多个组,提高了带宽,不能保证按序到达,而Message是一整个传输的。
电话交换:
端局:end office, 长途局:toll office, 中间交换局:intermediate switching office
在这里插入图片描述

2.3 物理设备

1: Repeater(中继器)
信号再升,使得信号恢复原来的强度,不是信号放大。

2: Hub(集线器)
从输入端口恢复信号并传输给所有输出端口。
如果Hub带宽为10M/s,且连接了8台计算机,则每台计算机的带宽为10/8=1.25

3 数据链路层(Data Linke Layer)

提供点到点通信

3.2 成帧方法

1:bit stuffing法:
每5个1填充一个0,接受方每5个1删去后面的0,用在HDLC中

2:字符填充法:
加上转义字符,用在PPP中

3.3 差错控制

1:Parity check:
包括校验位中1的个数是奇数还是偶数。
奇校验不能检测奇数个1,偶校验不能检测偶数个1,

2:Hamming Code:
海明码位数满足: n + k ≤ 2 k − 1 n+k\le 2^k-1 n+k2k1, n是信息,k是冗余位
海明距离:纠正k位,需要2k+1, 检验k位,需要k+1位

3:CRC:
假设多项式的最高次数为R, 位数为R+1
1.把生成多项式G写为比特串
2.原字符串A左移R位
3.checksum为A和G模二除法的余数, 一共R位
4.把右边R位替换为checksum

4:模二除法:
1.让被除数和除数最高位1对齐 否则补0
2.被除数和除数做亦或,得到R-1位余数
3.用余数作为被除数,然后继续1,2

3.4 流量控制

1:Stop and Wait:
1.发送和接受窗口都是1
2.只有上一帧返回ACK才可以发送下一帧
3.计算信道利用率:

2: Go Back N:
1.发射窗口<=2^n-1
2.有关重发的问题:确认模式为捎带确认,如果接受到了5的ACK,即使没有接受到4的ACK也认为接受到了4, 因此重发的是最后一个ACK后面一个帧。

3 :Repeat and Select
1.重传所有超时的帧,这个和Go back N区分开来
2.发射窗口+接受窗口<=2^n
3.接受窗口不应该超过2^n/2

4:大小为n的滑动窗口,发射窗口大小最大为n-1

5:帧长度为n bit,Repeat and Select 接受窗口最大为2^n/2

6:Stop and Wait 信道利用率:
思路为计算一个发送周期=数据帧发送时间+确认帧发送时间+单播延迟*2
再用传输数据的时间(不包括ACK)除以周期

7.go back N协议信道利用率:
发送窗口*帧长度/(数据发送+确认帧发送+单播*2)

3.5 介质访问控制

1:CDMA计算(码分):
每个站都会有码片,比如(-1,-1,-1,+1,+1,-1,+1,+1), 如果是01串,则0代表-1,1代表+1。
要求:不同站的码片内积为0
合成:如果发送1,则用1乘以码片,如果发送0,则用-1乘以码片。如果静默,则用0乘以码片。然后逐位相加。
解码:用结果和自己的码片做内积除以位数,如果结果为1,发射了1,如果结果为-1,发射了0,如果为0,说明是静默

类似的还有TDMA(时分) FDMA(频分)

2:CSMA/CD协议:
如果侦听到空闲则发送,因此可能产生碰撞。最晚需要两倍单播时延可以得知碰撞。最小帧长=2*单播时延*传输速率。小于最小帧长的帧被丢弃
特别的,以太网的帧长必须为64B以上。就是大于最小帧长。

3:CSMA/CD Binary backoff algorithm:
1~9次冲突: 第i次冲突从0~2^i-1选择一个整数,等待2kr, r是随机整数,k是单播时延,
10~15次冲突:固定为1~1023
16次冲突以后: 放弃传输。

4:ALOHA:
ALOHA协议:随机发送,如果碰撞则等待一个随机时长
sub-slot ALOHA: 把时间划分为等长的节拍,只有在节拍开始时才能传输, 因此只有两个同时在节拍开始时传输才会碰撞。

5: CSMA协议(侦听协议):
当信道空闲时,只有p-present协议可能以p概率发射,其他都发射
当信道忙时,1-present和p-present继续侦听,non-present随机等待一段时间再侦听

6: RTS(Request to send)和CTS(Clear to send)
A站打算发送到B站,此时发送一个RTS包含目的和时长,此时B站发送CTS,表示可以发送。

如果接受到RTS,需要静默short time,不干扰CTS的接受
如果接受到CTS,不管是否接受了TS, 必须一直静默

hidden station problem:
如果A, B在C的两端,无法侦听到对方,则认为C空闲,都发送数据
exposed station problem:
如果A<=>B C<=>D的顺序,B给A发送,C认为无法给D发送,其实是可以的。由于接收者和发送者都在第三者的同侧。

7:如果减小发送时延(减小数据帧长度),则必须减小往返时延,两者值相等, 这是确保帧长度大于最小帧的长度。

8:最小帧长=2*单播时延*传输速率。

9: 令牌环网,一个令牌在网络中流动,有令牌的主机可以发送数据,适合负载大的情况使用,无冲突。

10:CSMA/CD CSMA/CA的区别:
CD是检测,边检测边发送,CA发送时无法检测
CD主要是二进制退避,CA主要是RTS和CTS
CD主要是以太网,CA主要是802.11无线网

11: FDM
频分复用,对于n个频道,需要n-1个保护带

12:broadcast domain和collision domain区分:
collision用同样的信道进行通信
broadcast指的是一个发送消息,其他都能接收到。可以看成collison被broadcast所包含。

3.6 局域网

1: 以太网 802.3标准
1: MAC协议提供无连接不可靠服务
2: 数据长度为46-1500字节,不足46需要填补
3:以太网使用星型拓扑结构

3.7 广域网

1: PPP协议
1.使用CRC校验,字符填充法(每个控制字符前填充一个转义字符),面向字节
2.面向连接不可靠服务(连接但是没有ACK和序号
3.点对点,不采用CSMA/CD
4.分隔符(1)+地址(1)+控制字符(1)+协议(2)+ip数据报+校验和(2)+分隔符(1)

2:HDLC协议
1.面向比特
2.使用比特填充首尾标志法(每5个1填充一个0),CRC校验
3.可靠的协议

4 网络层

分组转发和路由, 使得不相邻的节点可以通信
单位是packet

4.1 交换方式

在这里插入图片描述

4.2 路由算法

1:RIP法
1.和邻居交换路由表
2.特点:难收敛,count-to infinity问题
3. 利用了Dijstra 算法寻找最小生成树

2.OSPF法
和所有节点交换自己到邻居的距离
容易收敛,适用于大网络
利用了泛洪法

3: 静态路由和动态路由
静态路由:手动添加
动态路由:随网络通信量和拓扑结构自动调整

4.3 Ipv4

1: IPv4协议
在这里插入图片描述
1.IHL是首部长度,单位是4Byte, 范围为4B-60B, 一般为20B
2.总长度单位为B
3.IP的分片:
(1) MF=1表示后面还有分片,最后一个packet的MF=0
(2) DF=0表示允许分片
(3) 路由器允许对ip分组进行分片,在目的主机上合成
(4) 同一个分组的不同分片,标识位相同
4.TTL表示生存周期, TTL=0将被丢弃
5.offset表示偏移量,单位是8Byte, 因此除了最后一个包以外,数据必须凑为8Byte,偏移量表示这个包的数据在原来数据中的偏移/8j
6.校验和(checksum)只对首部进行

2: NAT
NAT表示将公网转为私网ip

3: CIDR
CIDR用前面y位表示子网掩码,用后面的部分表示主机,比如192.168.20.0/24
此时确定还有32-24=8位空间可以进行分配

4:如果给定网络空间,子网掩码,问有几个子网,每个子网有几个主机号:网络空间中若干位区分子网,另外的位表示主机

5: 对于/xx的掩码,直接数位数即可,但是对于255.255.255.240的掩码,
由于子网掩码总是111xxxx,因此可以预先算出来:
覆盖1位是.128,
覆盖2位是.192=128+64,
覆盖3位是.224=128+64+32,
覆盖4位是.240=128+64+32+16,
覆盖5位是.248=128+64+32+16+8,

这样遇到255.255.255.248,即可推出子网覆盖了5位

6: 主机个数=2^主机位数-2, 必须去掉广播地址全1和子网地址全0

7: 一台主机在同一个子网下只能拥有一个ip地址

8: IP网络在路由器中使用IP地址寻址,在目标网络使用MAC地址寻址

9: ARP协议:
在LAN中使用,当有ARP询问包时,主机或者路由器把一个IP地址和MAC地址的映射发送给发送询问包的路由器。

10:DHCP协议:
应用层协议,自动分配ip地址,由UDP实现

11: ICMP协议:
控制或者询问协议,比如包错误,则发送一个ICMP包给发送方,主要应用为: Ping和traceroute

12: 单播地址
Broadcast: 广播,主机号全部为1,
Multicast, 多播
Unicast: 单播,主机号不能全为1
Anycast: 选播

4.4 ipv6

1: ipv6地址
1.从32位变为128位,即16B
2.中间由冒号隔开,对于连续的0可以用两个冒号代替,但是在整个地址中只能出现一次
3.不允许节点切片
4.首部长度的单位是8B,不可变
5.不提供校验和

2: ipv6地址常见错误
1.通过冒号分为8个部分,每个部分最大为4个字符
2.出现了多个连续的冒号
3.出现了大于F的字符, 不可以

5 传输层

主要在网络层上提供端到端的通信,单位为segment

5.1 传输层服务

Connection-oriented service:在通信前建立连接,在通信后释放连接,保证可靠,顺序交付
Reliable service:使用确认机制保证传输的数据不丢失

5.2 UDP协议

1: UDP特点
1.在IP协议上提供了差错检测和复用
2.无连接不可靠
3.首部固定为8B,因此不包含首部长度
4.支持多对多通信
5.首部包括:源端口,目的端口,UDP长度,校验和
6.可靠性由应用层保证
7:面向message, 传输的单位是datagram
8:源端口:在回信时使用,可以全填0
9:目的端口:在交付message时使用

2: checksum
1.checksum计算时使用伪首部,伪首部(pseudoheader)包含了IP首部的源地址和目的地址,伪首部只用于计算checksum,不会发送
2.checksum是可选字段,如果不想计算,则为全0

5.3 TCP协议

1: TPC协议的特点
在这里插入图片描述

1.面向连接,因此是可靠的,按序交付的
2.只允许点对点
3.面向字节流
4.首部以4B为单位,最少为20B

名称含义
ACK number下一个希望受到的字节号
seq number表示传输的数据是原来的第几个字节
Window还允许接受的字节数
checksum包括首部和数据
SYN=1表示是一个请求连接
ACK=1表示ACK number有效
FIN=1表示释放连接

3: TCP三次握手和四次挥手
在这里插入图片描述

4: Socket函数

函数名含义
listen进入等待队列,此时可以被连接
connect主动发起三次握手
accept阻塞,直到被连接
send主动发送消息
recv阻塞,接收信息

5:TCP阻塞控制算法
congestion window 拥塞窗口,单位是分组(segment)
1.阻塞发生,将阈值设置为阻塞窗口的1/2,阻塞窗口设置为1
2.阻塞后的第一次发射,阻塞窗口是1
3.每次接受到一帧确认,阻塞窗口加1,每次传输周期的帧都确认,阻塞窗口加倍
4.如果某个确认帧到了,阻塞窗口等于阈值,则这个周期中的后续帧都不增加窗口,到下一个周期开始,一个周期阻塞窗口加1

6 应用层

6.1 网络模型

1:C/S模型
1.客户发送请求给服务器,服务器满足需求
2.客户无法直接通信
3.客户主动通信,服务端被动通信

2: P2P模型
1.每个节点可以提供服务
2.每个节点处于对等关系
3.适合文件分享

6.2 DNS域名系统

1.查询模式
主机查询本地域名服务器,
本地域名服务器查询根域名服务器, 得到顶级域名服务器ip,
本地域名服务器查询顶级域名服务器,得到权限服务器ip,
本地域名服务器查询权限服务器,得到目标地址的ip。

例如查询xyz.abc.com,本地服务器查询:
1.根,2.顶级服务器(com),3.权限服务器(abc.com),4.权限服务器(xyz.abc.com),最多查询4次,最少查询1次(已经有缓存了)

2.DNS服务
传输层无连接服务UDP

6.4 邮件传输协议

POP3, SMTP都使用TCP传输协议
发送方的user agent到服务器,服务器到服务器都是SMTP
接受方服务器到user agent使用POP3或者IMAP

6.5 WWW

1.WWW是资源存储者,每个资源有唯一的标号url,通过HTTP协议传输给使用者

2.url格式: 协议:主机:端口:路径

3.HTTP使用TCP协议

4: cookie: 用户识别码,第一次访问时,网站返回一个cookie,之后的访问会携带cookie

5: HTTP操作:

操作名称含义
get请求读取url对应的信息
head请求读取url对应信息的头部
post给服务器添加信息
connect用于代理服务器

实验

OSPF:
OSPF是一个内部的网关协议,若干个具有相同AS号的路由器相互学习。

1: 设置回环接口的地址
interface loopback 0
ip address 地址 网关

2.为路由器设置OSPF:
router ospf 1 (表示进程id是1)
network 地址 网关 area 0
(表示路由器该地址所属的接口的区域是什么,网关必须是取反的,表示子网的大小)
router id就是回环接口的地址

3.设置virtual link:
area <area-id> virtual-link <router ID>
注意是两个路由器之间配置,router id填写的是对方的回环地址

switchport access vlan x
将端口加入valn x
ip address IP地址 网关|配置ip地址

BGP:
BGP是外部网关协议

通过router bgp AS号 ,进入config-router
1.路由器上启用BGP协议,设置AS
R1(config)# router bgp <AS-Number>
R1(config-router)# network x.x.x.x mask x.x.x.x (宣布直连网络)

2.增加内部邻居
R1(config-router)# neighbor <IP-Address> remote-as <AS-Number>

增加为AS间的邻居
R1(config-router)# neighbor <IP-Address> remote-as <AS-Number>

ip为回环接口号

默认是选择经过最少AS数量的路径

R1(config-router)# neighbor <IP-Addr> update-source loopback 0

ip为对方回环接口的ip, 对方到底是谁,看题目之前怎么设置的

redistribute ospf <process-id> 启用重分发功能

路由器的路径:
O: OSPF
B: BGP
S: 静态路由
R: RIP
C: 直接连接

优先级:C>S>O>R>B

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值