一.osi七层模型
1.七层模型定义及作用
l 物理层:位于最低层,是传送信号的物理实体,主要解决两台物理机之间的通信。它的功能是:通过机械和电气的方式将各站点连接起来,组成物理通路,通过二进制比特流的传输来实现,二进制数据表现为电流电压上的强弱,到达目的地再转化为二进制机器码。网卡、集线器工作在这一层。
2 数据链路层:在不可靠的物理介质上提供可靠的传输,接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层。这一层在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路。提供物理地址寻址功能。交换机工作在这一层。
3 网络层:处理报文分组,完成分组的多路复用和分组交换,以及通信子网络间的数据据传输,将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方,通过路由协议为分组通过通信子网选择最佳路径。路由器工作在这一层。
4 传输层:实现端点到端点的可靠数据传输,区分不同进程和服务。
端口号范围:0-65535
1024-49151注册端口(少部分被协议使用)
49152-65535动态/私有端口
5 会话层:用于建立、控制和终止终端用户的实用进程间的逻辑信道的连接,并提供支持同步和管理应用进程间的对话服务,验证会话双方的身份,恢复下位层不呆恢复的差错。
6 表示层:对数据格式进行编译,对收到或发出的数据根据应用层的特征进行处理,如处理为文字、图片、音频、视频、文档等,还可以对压缩文件进行解压缩、对加密文件进行解密等。
7 应用层:功能实现依托不同的应用层协议,如HTTP协议,FTP协议等等,方便应用程序之间进行通信,为用户服务。
OSI模型 | 作用 |
---|---|
应用层 | 为应用程序提供服务支持,通过人机交互实现服务 |
表示层 | 将数据格式进行转换,编码解码,加密解密 |
会话层 | 发现会话,建立会话、维持会话、终止会话 |
传输层 | 建立、管理、维护端到端的连接(提供端口号,分段) |
网络层 | IP选址、路由选择 |
数据链路层 | 提供介质访问和链路管理 |
物理层 | 底层物理支持 |
1.1划分七层模型的好处:
l 易于标准化
不同层次之间功能和目的具有明显差异,界线清楚,可使复杂的网络设计简化清晰。
2 灵活性---降低不同层次之间的关联性
网络中各层相对独立,修改了某层协议也不会影响系统的其他部分。不同层次完成的职能不同,每层只完成有限的功能,上层请求下层的服务,下层实现上层的意图。
1.2.osi七层模型中对应的协议
应用层:用户接口(FTP、DHCP、Telnet、DNS、OSPF、BGP、HTTP、RIP、NFS、、ISIS)
表示层:定义数据格式(JPEG、ASCLL、GIF、DES、MPEG)
会话层:定义了开始、控制、结束一个会谈(RPC、SQL、NFS)
传输层:差错恢复、数据包的重新排列(TCP、UDP、SPX)
网络层:端到端的包定义(IP、ICMP协议、ARP协议,IPX、路由器和三层交换机工作、RARP协议)
数据链路层:IEEE802.3/.2、HDLC、PPP、ATM、以太网协议
物理层:机械特性、电器特性、功能特性、过程特性RS232、V.35、RJ-45、FDDI
1.3.协议常见端口号
使用TCP协议常见端口主要有以下几种:
(1)FTP——文件传输协议——21号端口
(2)Telnet——远程登陆协议——23号端口
(3)SMTP——简单邮件传送协议——25号端口
(4)POP3——接收邮件——110号端口
(POP3仅仅是接收协议,POP3客户端使用SMTP向服务器发送邮件。)
使用UDP协议常见端口主要有以下几种:
(1)HTTP——超文本传输协议——80号端口
(2)DNS——域名解析服务——53号端口
(3)SNMP——简单网络管理协议——161号端口
(SMTP真正关心的不是邮件如何被传送,而只关心邮件是否能顺利到达目的地。)
(4)TFTP——简单文件传输的协议——69号端口
另外代理服务器常用以下端口:
(1)HTTP协议代理服务器常用端口:80/8080/3128/8081/9080
(2)SOCKS代理协议服务器常用端口:1080
(3)FTP协议代理服务器常用端口:20/21
(20端口用于数据传输,21端口用于控制信令的传输,控制信息和数据能够同时传输,这是FTP的特殊这处。FTP采用的是TCP连接。)
(4)Telnet协议代理服务器常用端口:23
(5)DHCP协议——动态主机设置协议——用于内部网或网络服务供应商自动分配IP地址
DHCP:服务器端的端口号是67
DHCP:客户机端的端口号是68
2.ARP协议---地址解析协议
正向ARP:通过已知IP地址,获取未知MAC地址;并存储在ARP缓存表中,老化时间180S
反向ARP:通过已知MAC地址,获取未知IP地址;
免费ARP:利用正向ARP的原理请求自己的IP地址,1、介绍自我;2、冲突检测
二.Tcp/IP协议
OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。
1.相同点与不同点
相同点
OSI 参考模型与 TCP/IP 参考模型都采用了层次结构。
都能够提供面向连接和无连接两种通信服务机制。
不同点
OSI 采用的七层模型; TCP/IP 是四层结构。
TCP/IP 参考模型没有对网络接口层进行细分,只是一些概念性的描述; OSI 参考模型对服务和协议做了明确的区分。
OSI 先有模型,后有协议规范,适合于描述各种网络;TCP/IP 是先有协议集然后建立模型,不适用于非 TCP/IP 网络。
TCP/IP 一开始就提出面向连接和无连接服务,而 OSI 一开始只强调面向连接服务,直到很晚才开始制定无连接的服务标准。
OSI 参考模型虽然被看好,但将网络划分为七层,实现起来较困难;相反,TCP/IP 参考模型虽然有许多不尽人意的地方,但作为一种简化的分层结构还是比较成功的。
2.PDU[ 协议数据单元]
协议数据单元PDU(Protocol Data Unit)是指对等层次之间传递的数据单位。协议数据单元(Protocol Data Unit )物理层的 PDU是数据位(bit),数据链路层的 PDU是数据帧(frame),网络层的PDU是数据包(packet),传输层的 PDU是数据段(segment),其他更高层次的PDU是数据(data)。
3.封装与解封装
跨层封装
跨四层封装---仅仅应用于直连路由设备之间
跨三四层封装----仅仅应用于直连交换设备之间
三.IP地址
单播地址:一对一
组播地址:一对多
广播地址:一对所有(相同广播域)
根据IP地址第一个八位 A 1-126 /8 私有地址范围:10.0.0.0/8 --10.255.255.255/8 B 128-191 /16 私有地址范围:172.16.0.0/16 --172.31.0.0/16 C 192-223 /24 私有地址范围:192.168.0.0/24 --192.168.255.0/24 D 224-239 E 240-254 其中ABC类地址为单播地址;D类为组播地址;E类为科研地址
特殊IP地址: 1、主机位全0 不是一个可用ip地址,用于代表整个网段 2、主机位全1 不是一个可用ip地址,直接广播地址 3、255.255.255.255 受限广播地址(受到路由器的限制,路由器不转发该信息到其他广播域) 4、0.0.0.0 无效地址(代表没有)/ 缺省地址(代表所有) 5、169.254.0.0/16 本地链路地址 --终端通过多次广播DHCP请求后,依然没有任何的DHCP应答后,本地自动生成的ip地址;网络位固定16位,主机位本地随机生成 6、127.0.0.1 win默认环回地址,用于测试系统的TCP/IP的网络组建是否可以正常工作
VLSM----可变长子网掩码
<!--思路:从主机位向网络位借位-->
<!--192.168.1.0/24-->
<!--192.168.1.0 0000000/25--192.168.1.0/25-->
<!--192.168.1.1 0000000/25--192.168.1.128/25-->
CIDR----无类域间路由
思路:取相同,去不同 192.168.0.0/24 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24 192.168.0000 0000.0 192.168.0000 0001.0 192.168.0000 0010.0 192.168.0000 0011.0 192.168.0000 0000.0/22--192.168.0.0/22---超网 172.16.0.0/24 172.16.1.0/24 172.16.2.0/24 172.16.3.0/24 172.16.0.0/22----子网汇总
2.DHCP---动态主机配置协议![](https://img-blog.csdnimg.cn/56af8acb37954f638d97a70935b8083d.png)
![](https://img-blog.csdnimg.cn/02bbbe3e7d554c70840cb42d62470de4.png)
3.DNS协议基于TCP/UDP的53号端口传输数据![](https://img-blog.csdnimg.cn/35576eeccaaa457196bc9d5a29000f4d.png)
4.路由器转发原理
原理:路由器将基于数据包中的目的IP地址查询本地路由表。若表中存在记录关系,则无条件按记录
转发;若没有记录,则直接丢弃数据报文。
路由表如何获取未知网段信息?
1、直连路由---路由器默认生成可用接口的智联网段的路由条目 2、静态路由---由网络管理员手工配置 3、动态路由---所有路由器运行相同路由协议,路由器之间彼此沟通,计算出未知网段路由
5.HTTP协议---超文本传输协议
TCP--80
超文本-----包含有超链接LINK和各种多媒体元素标记的文本。
HTTP协议工作过程
概述: 浏览器进行DNS域名解析,得到对应的IP地址 根据这个IP,找到对应的服务器建立连接(三次握手) 建立TCP连接后发起HTTP请求(一个完整的http请求报文) 服务器响应HTTP请求,浏览器得到html代码(服务器如何响应) 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) 浏览器对页面进行渲染呈现给用户 数据传输完成,发送断开连接请求,服务器关闭TCP连接(四次挥手)
区别:
HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。 使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。 HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。 http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。 HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。
6.tcp协议
TCP:传输控制协议 面向连接得可靠传输协议 面向连接:在传输之前进行3次握手建议TCP端到端的会话 可靠传输:4种可靠传输机制 --确认、重传、排序、流控(滑动窗口)
分片(IP协议):受MTU(最大传输单元,默认1500字节)限制 分段(TCP协议):MSS(最大传输段) PMTU --路径MTU发现:发现传输路径中最小的MTU
1.确认机制--------每接收到一个数据段,都需要进行一次确认
2.重传机制
3.排序机制
4.流控机制
三次握手
所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。
三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息.在socket编程中,客户端执行connect()时。将触发三次握手
第一次握手: 客户端发送一个TCP的SYN标志位置1的包指明客户打算连接的服务器的端口,以及初始序号X,保存在包头的序列号(Sequence Number)字段里。
第二次握手: 服务器发回确认包(ACK)应答。即SYN标志位和ACK标志位均为1同时,将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即X+1。
第三次握手. 客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1(ISN---初始序列号)
标志 | 意义 |
---|---|
SYN=1 | 请求建立连接 |
seq=x(随机数) | 序列号 |
ack = x+1 | 确认序列号 |
ACK=1 | 确认ack有意义 |
四次挥手
TCP的连接的拆除需要发送四个包,因此称为四次挥手(four-way handshake)。客户端或服务器均可主动发起挥手动作,在socket编程中,任何一方执行close()操作即可产生挥手操作。
标志 | 意义 |
---|---|
FIN=1 | 请求释放连接 |
seq=u(不是随机数) | 序列号 |
ack = x+1 | 确认序列号 |
ACK=1 | 确认ack有意义 |
应用层 | HTTP请求报文---请求方式:GET(用于请求一个网页信息) |
---|---|
传输层 | TCP;随机端口;80 |
网络层 | IP协议;PC;web服务器 |
数据链路层 | 以太网协议;PC;网关 |
应用层 | HTTP应答报文---应答状态码:200 |
---|---|
传输层 | TCP 80 随机 |
网络层 | web服务器;PC |
数据链路层 | web服务器MAC;与web服务器同广播域的网关MAC |
7.udp协议![](https://img-blog.csdnimg.cn/cd1b1cc304ce4ca58fc94333821e3af9.png)
四.静态路由
路由器转发原理: 路由器将基于数据包中的目的IP地址查询本地路由表。若表中存在记录关系,则无条件按记录转发;若没有记录,则直接丢弃数据报文。
路由表如何获取未知网段信息: 1、直连路由---路由器默认生成可用接口的智联网段的路由条目 优先级:0 2、静态路由---由网络管理员手工配置 优先级:60 3、动态路由---所有路由器运行相同路由协议,路由器之间彼此沟通,计算出未知网段路由 优先级:ospf --10 rip --100
直连路由生成条件: 1、接口双UP 物理层UP---本地链路正常 ` 协议层UP---具备通讯协议
2、接口必须存在IP地址
下一跳:流量从本地出发后,下一个入接口的的IP地址
优点:选路合理,安全,不需要占用额外设备资源
缺点:配置量大,仅适用于中小型网络
静态路由配置
方法一:
[r1]ip route-static 23.0.0.0 24 12.0.0.2 下一跳:去往目标网段所需要经过的下一个路由器的入接口的IP地址 标记R:代表递归计算出接口 优先级:60
方法二:
[r1]ip route-static 192.168.2.0 24 GigabitEthernet 0/0/1 [r2-GigabitEthernet0/0/0]arp-proxy enable ----开启ARP代理功能 路由器数据包中的目的MAC地址被写为目的IP地址所对应的MAC。----数据不通 而此时路由器无法获取目的MAC地址。 开启ARP代理功能,在下一个路由器的入接口开启 代理ARP思路:当接收到ARP数据包后,路由器会查看本地路由表,若路由表中存在目的IP地址(网络可 达),此时该路由器会冒充目的IP地址来回复ARP报文
方法三:
[r1]ip route-static 23.0.0.0 24 GigabitEthernet 0/0/1 12.0.0.2
注意:先写出接口,在写下一跳
方法四:
[r1]ip route-static 192.168.2.0 24 23.0.0.3
下两跳或多跳数
在递归查找时,需要提前铺垫好所有的递归查找中所需要使用到的路由信息。
扩展配置:
1、路由汇总 当到达多个目标网段时,在本地拥有相同的下一跳,且可以进行汇总运算,那么只需要编辑一条到达汇总网段的路线即可
2、路由黑洞 汇总后,可能会出现网络中不存在的地址,有可能会造成流量有去无回的现象 --黑洞
3、缺省路由 一条不限定目标路由条目,查完所有后当路由表中没有某一条路由条目时,由该路由条目转发
[r1]ip route-static 0.0.0.0 0 192.168.1.23、缺省路由 一条不限定目标路由条目,查完所有后当路由表中没有某一条路由条目时,由该路由条目转发
4、空接口防环回路由 当缺省和黑洞相遇时
五.ICMP**协议**
虽然 ICMP 是网络层协议,但是它不像 IP 协议和 ARP 协议一样直接传递给数据链路层,而是先封装成 IP 数据包然后再传递给数据链路层。所以在 IP 数据包中如果协议类型字段的值是 1 的话,就表示 IP 数据是 ICMP 报文。IP 数据包就是靠这个协议类型字段来区分不同的数据包的。
六.BFD**技术----双向链路检测机制**
是一种全网统一的测试机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。
1.查看bfd会话 display bfd session all![](https://img-blog.csdnimg.cn/eb060b7b3e044d6abefb74f289785576.png)
2.配置
[r1]bfd ----激活BFD协议 [r1]bfd aa bind peer-ip 10.1.12.1 ---创建bfd会话,会话名称为aa(仅具备本地意义),对端IP 地址 [r1-bfd-session-aa]discriminator local 10 ----配置本地标识符 r1-bfd-session-aa]discriminator remote 20 ----配置远端标识符 [r1-bfd-session-aa]commit ----提交配置 [r1]ip route-static 10.9.9.0 24 10.1.12.1 track bfd-session aa ----将BFD与静态路由联动
3.扩展配置
[r1-bfd-session-bb]min-rx-interval 10 ---修改BFD报文发送时间间隔 [r1-bfd-session-bb]min-tx-interval 10 ----修改BFD报文接收时间间隔 [r1-bfd-session-bb]detect-multiplier 5 -----配置本地检测倍数为5
4.如何判断bfd报文失效:
若连续三个报文都没有收到对方回复则判定失效
第二章,网络类型及数据链路层协议
网络类型---根据我们数据链路层所运行的协议及规则来划分。
网络类型:
-
P2P----点到点网络(只能有俩设备)
-
MA----多点接入网络
-
BMA----广播型多点接入网络
-
NBMA---非广播型多点接入网络
数据链路层协议
MA网络
以太网协议
特点-----需要使用MAC地址对设备进行区分和标识。
BMA中的以太网网络构建方法:
使用以太网线连接设备的以太网接口,形成的网络被称为以太网络,所运行的二层协议就是以太网协议。
常见以太网线:
-
同轴电缆
-
双绞线
-
光纤
以太网特色-----可以提供极大的传输速率---依靠频分技术。
P2P网络
当一个网络中只能存在两台设备,并且不允许第三台设备加入,这样的网络被称为P2P网络。
点到点网络的搭建----使用串线连接设备的串线接口,形成的网络。
串线的标准
-
E1标准----2.048Mbps----欧洲标准
-
T1标准----1.544Mbps----北美标准
HDLC---高级数据链路控制协议
标准
-
满足工业标准的标准HDLC
由ISO提出(SDLC---同步数据链路控制协议)
同步----以帧为单位传输数据
异步----以字节为单位传输数据
-
`非标准的HDLC------思科`
注意:标准的HDLC和非标准的HDLC协议彼此不兼容。
HDLC网络搭建![](https://img-blog.csdnimg.cn/624b1ada89c442ac9f02e5dcb62c3c44.png)
[r2-Serial1/0/0]ip address 12.0.0.1 24 --依靠ip进行测试(ping命令) [r3-Serial1/0/0]ip address 12.0.0.2 24 [r2-Serial1/0/0]ip address 12.0.0.1 24 [r3-Serial1/0/0]link-protocol hdlc ----修改数据链路层的链路类型
HDLC接口地址借用
IP地址借用--->允许一个没有IP地址的接口从其他接口借用IP地址。---->可以避免一个IP被某一个接口独
占,节省IP地址资源。---->一般建议借用环回接口IP地址
配置
R2配置
[r2]interface LoopBack 0 [r2-LoopBack0]ip address 12.0.0.1 32 [r2-Serial1/0/0]link-protocol hdlc [r2-Serial1/0/0]ip address unnumbered interface LoopBack 0 ----借用环回接口IP [r2]ip route-static 12.0.0.0 24 Serial 1/0/0 ---配置通往12.0.0.0/24网段的路由。原因在于S1/0/0
接口没有配置IP地址,故无法生成相应直连路由信息,数据包无法通过路由表进行转发。
R3配置
[r3-Serial1/0/0]link-protocol hdlc [r3-Serial1/0/0]ip address 12.0.0.2 24