computer-network-lab-note
计算机网络复习提纲
常用命令
基本配置命令
1 | <h3c> display current-configuration |
设置MTU(最大传输单元):
1 | [R1-E0/0] mtu 100 |
选择接口工作速率:
1 | [R1-E0/0] speed 100 |
交换机设置端口双工状态:
1 | [S1-E1/0/1] duplex full //全双工 |
路由器端口ip地址配置
1 | [R1]inter e0/1 |
ping
1 | [R1-E0/0]ping 192.192.169.21 |
地址转换
1 | (1) 配置访问控制列表 |
端口聚合
生成树协议配置
1 | [S1]stp enable |
交换机MAC地址表
1 | [S1]display mac-address |
配置端口聚合
1 | [S1]interface bridge-aggregation 1 |
VLAN的配置
创建vlan
1 | [S1]vlan 2 |
配置vlan ip地址
1 | [S1]inter vlan 2 |
查看vlan配置
1 | [S1]display vlan 2 |
配置trunk端口
1 | [S1]inter e1/0/13 |
配置hybrid端口
1 | [S1-e1/0/13]port link-type hybrid |
其他命令
1 | [S1-e1/0/13]undo port link-type |
PPP身份认证
配置ppp(两端都要配)
1 | [R1-Serial1/0]link-protocol ppp |
debug-ppp( LCP状态图 )
1 | <R1>debugging ppp all |
配置pap身份认证
1 | 主验证方配置: |
debug-pap(PAP状态图 )
1 | <R1>debugging ppp pap all |
配置chap身份认证
1 | 主验证方配置: |
debug-chap(CHAP状态图 )
1 | <R1>debugging ppp chap all |
ARP
1 | 查看arp缓存-命令行:arp -a |
ICMP
1 | 打开tracert响应: |
静态路由
1 | [R1]ip route-static 192.168.5.0 255.255.255.0 192.168.3.2 |
OSPF
基础命令
1 | <h3c>reset ospf all process |
ospf区域划分
1 | [R1]router id 1.1.1.1 |
静态路由/直连路由 引入
1 | [R1-ospf]import-route static |
配置Cost
1 | 交换机在vlan上配置cost |
BGP
基础命令
1 | [R1]undo bgp |
自治系统划分
1 | [R1]bgp 100 |
路由聚合
1 | [r1]bgp 100 |
路由引入
1 | [R1-bgp]import-route static |
路由策略
1 | ACL路由过滤 |
local-preference
1 | 默认100,越大越好 |
med
1 | 默认0,越小越好 |
常用协议
地址转换
为了解决全球IPv4地址短缺的问题
将多个内部专用IP地址,映射为公网IP地址
隐藏内部网络的作用——安全性
地址转换表
过程:
1)内网向外网发送报文
2)报文到NAT路由器时,分配公网地址A,地址转换表插入记录(内网ipB-公网ipA),源地址/端口改为A
3)NAT路由器收到返回的报文,查找地址转换表,找到对应内网ipB,目的地址/端口改为B
4)内网收到返回报文
端口聚合
提高链路带宽,链路备份
将交换机多个端口连接起来,在逻辑上捆绑在一起,形成较大带宽的端口
原理:帧分发器->聚合链路->帧接收器
VLAN
隔离二层广播报文、虚拟局域网技术
tag域,发送主机时删除tag
端口类型:access、trunk、hybrid
默认pvid、tagged、untagged
PPP
点到点协议:
1)IP数据报封装在串行链路
2)LCP链路控制协议
3)网络控制协议NCP
身份认证——PAP 密码认证协议
1)被验证方发送 用户名+密码
2)A检查,正确则ack;否则nak
身份认证——CHAP 询问握手认证协议
1)验证方发送:随机报文+主机名(challenge)
2)被验证方收到,按照对方的主机名在本端查找密钥,用随机报文+密钥+报文id生成MD5应答
3)验证方收到应答,按照对方的主机名在本端查找密钥,用同样方法得出结果,比对(ack or nak)
ARP
地址解析协议:ip地址->硬件地址
ARP缓存(一定时间有效)
同一网段:广播arp请求报文
不同网段:查找默认网关地址
ICMP
因特网控制报文协议
差错报告报文+询问报文
ping:时间戳——计算RTT
tracert:
获得路径信息,不同生存时间TTL的ICMP回送请求报文
超时信息,每次TTL+1,直到成功或TTL达到最大值
IP
首部固定部分20字节,CIDR编址
TCP
首部固定部分20字节
面向连接的、点对点的协议,提供可靠地交付,支持全双工通信,面向字节流,可以进行流量控制和拥塞控制
连接建立——3次握手(请求、确认、确认),最大报文段长度MSS协商
连接释放——4次握手
面向字节、可靠传输、全双工通信(通过序号和确认号字段)
滑动窗口机制:
发送窗口上限=Min [拥塞窗口cwnd , 接收窗口rwnd]
窗口合拢、窗口张开、窗口收缩(不常见)
糊涂窗口综合征:接收方每次取走很少数据就通告窗口,发送方发送很小报文,导致传输效率低
Nagle算法:后续报文发送,数据要填满发送缓存一半或一个最大报文长度
慢启动:指数方式,一个ack就+1个MSS
拥塞避免:线性方式,cwnd个ack,cwnd+1
慢启动门限ssthresh:cwnd小于ssthresh时,慢启动
拥塞处理:ssthresh=max(cwnd/2,2MSS) ; cwnd=1
超时重传:Karn算法,新重传时间=k*旧重传时间
窗口探查:防止死锁(接收方等待数据,发送方等待允许它继续发送的窗口更新)
UDP
无连接的、尽最大努力交付、不可靠的、是面向报文的协议,一次交付一个完整的报文,没有拥塞控制,网络出现堵塞不会使源主机发送速率降低,支持一对一、多对多、多对一和多对多的交互通信,首部开销小。
DNS
1)本地客户向本地域名服务器 递归查询
2)本地域名服务器向 根域名服务器、顶级域名服务器、权限域名服务器 迭代查询
3)本地域名服务器返回结果
HTTP
1)DNS解析过程
2)TCP连接建立
3)HTTP传文件
4)TCP连接释放
电子邮件
1)发信人调用用户代理,用户代理用SMTP将邮件发给发送端邮件服务器
2)邮件进入发送端邮件缓存队列
3)发送端邮件服务器的客户进程用SMTP,向接收端邮件服务器发送邮件
4)接收端收到邮件,放入收件箱
5)收件人调用用户代理,使用POP协议取出邮件
SMTP工作流程:
连接建立(HELO)、邮件传送(MAIL、RCPT)、连接释放(QUIT)
FTP
端口21
控制连接:客户服务器方式建立,服务器被动打开,客户主动打开
数据连接:每当文件在客户与服务器之间传输时,就创建一个数据连接
DHCP
动态主机配置协议
1)寻找DHCP服务器——discover报文
2)分配ip地址——offer报文
3)接收ip地址——request报文
4)分配确认——ack报文
ospf
自治系统、区域
邻居(收到hello报文并检查参数一致后)、邻接(交换链路状态通告信息)
可靠传输:确认和重传机制
5种报文类型:Hello、DD、LSR、LSU、LSAck
报文交互过程:
1)Hello报文发现邻居
2)DD报文主从关系协商
3)DD报文交换(LSA摘要信息)
4)LSA请求(LSR)
5)LSA更新(LSU)
6)LSA应答(LSAck)
指定路由器DR、备份指定路由器BDR、DROther
解决全连接网络中N方连接问题,DROther之间不建立邻接(2-way)
DR选举:根据Hello报文中的id字段
LSDB
区域边界路由器ABR:不同区域传递路由信息
自治系统边界路由器ASBR
生成者 | 所描述的路由 | 传递范围 | |
---|---|---|---|
Router LSA | 所有运行ospf的路由器 | 连接状态、花费等 | 区域内 |
Network LSA | DR | 本网段中所有已同其建立邻接关系的路由 | 区域内 |
Net-summary LSA | ABR | 该区域内的路由的信息 | 其他区域 |
Asbr-Summary-LSA | ABR | 区域内,到达ASBR的路由 | 其他区域 |
AS-External-LSA | ASBR | 到自治系统外的路由 | 全自治系统 |
骨干区域(area 0):与其他所有区域相连
传递路由:某区域->骨干区域->某区域
路由计算:SPF算法、优选顺序
无自环:区域内知道完整拓扑结构,区域间应用骨干区域
BGP
EBGP、IBGP
报文类型:OPEN、UPDATE、NOTIFICATION、KEEPALIVE
路由属性、路由策略(向外通告)
避免环路:不接受AS路径包括自己的路由
常见状态图
LCP协商过程
graph TD classDef orange fill:#f96; classDef blue fill:#3df; classDef pink fill:#f9f; classDef green fill:#2e4; classDef primary fill:#fbb; A(initial)-->|Open|S(starting) S-->|Close|A S-->|Lower Up|B(reqsent)-->|RCA,Receive Config Ack|C(ackrcvd)-->|RCR+,Receive Config Good Request|D(opened)-->|RTR,Receive Terminate Request|E(stopping)-->|TO-,Timeout with counter expired|F(stopped)-->|Lower Down|S A:::orange S:::primary B:::blue C:::blue D:::blue E:::blue F:::blue
PAP验证过程
graph LR classDef orange fill:#f96; classDef blue fill:#3df; classDef pink fill:#f9f; classDef green fill:#2e4; classDef primary fill:#fbb; A(Initial)-->|Lower Up|B(ServerListen)-->|Receive Request|C(WaitAAA)-->|AAA Result|D(ServerSuccess)-->|Lower Down|A A:::orange C:::blue D:::blue B:::blue
OSPF
graph LR classDef orange fill:#f96; classDef blue fill:#3df; classDef pink fill:#f9f; classDef green fill:#2e4; classDef primary fill:#fbb; A(Down) B(Attempt) C(Init) D(2-way) A-->B-->C A-->C-->D A:::orange B:::orange C:::orange D:::orange E(ExStart) F(Exchange) D-->E-->F E:::green F:::green G(Loading) H(Full) F-->G-->H F-->H G:::blue H:::blue
BGP
graph TD classDef orange fill:#f96; classDef blue fill:#3df; classDef pink fill:#f9f; classDef green fill:#2e4; classDef primary fill:#fbb; A(Connect) B(Active) C(Open-sent) D(Open-confirm) E(Established) F(Idle) F-->|Start|A A-->|Others|F A-->|TCP connection fails|B B-->|Connect-Retry timer expiry|A B-->|TCP connection setup|C C-->B B-->|Others|F A-->|TCP connection setup|C C-->|Correct OPEN packet received|D C-->|Error|F D-->|KeepAlive packet received|E D-->|Error|F E-->|Error|F A:::orange B:::green C:::green D:::green E:::green F:::primary
常用tips
- <Ctrl+G>对应命令display current-configuration(显示当前配置)
- <Ctrl+L>对应命令display ip routing-table(显示IPv4 路由表信息)
- <Ctrl+O>对应命令undo debugging all(关闭设备支持的所有功能项的调试开关)
- <Ctrl+Z> 对应命令return(退回到用户视图)
- 线下实验环境的路由器会自带interface vlan 1(ip address 192.168.0.1)需要 undo interface vlan 1
- Title: computer-network-lab-note
- Author: Charles
- Created at : 2024-05-22 07:59:20
- Updated at : 2024-05-22 18:19:36
- Link: https://charles2530.github.io/2024/05/22/computer-network-lab-note/
- License: This work is licensed under CC BY-NC-SA 4.0.