RS体系和华为发布的Datacom(数据通信)认证,后者是前者的升级版
(Os:Cisco 思科体系)
HCIA包含了HCIP和HCIE
HCIP 资深网络工程师
HCIE 网络工程师专家(可以作为选修课学习)
- 第一节课:理论为主——基础
网路、服务器、数据开发
什么是网络? 作用:信息传递、资源共享 通过传输介质连接
百度回答:网络是由若干节点和连接这些链路构成,表示诸多对象及其相互联系的电路或系统。
答:网络是由网络连接设备通过传输介质将网络终端设备连接起来,进行信息传递、资源共享的平台。
网络连接设备:路由器、交换机、猫—modem—调制解调器—做光电转换(集成光猫有路由器、交换机、光电转换、无线AP的作用)
传输介质:网线、光纤、同轴电缆
网络终端设备:PC、服务器、摄像头(需要联网的设备都是)
OSI(开放式系统互联模型 / 七层参考模型)由ISO提出的一套规范网络体系标准 USB\Typc\光纤(标准规定)
ISO:国际标准化组织(计算机体系结构也由其制定) 1979年颁布
GB/1996 2002 2022 中国出行的标准
计算机由硬件和软件组成,软件控制系统
核心思想——分层 定义:属于同一层的协议具有相同或者相近的作用目的,不同层次间的协议具有明显的差异性。每一层都在下一层所提供的服务的基础上提供增值服务。
分层的目的:
- 降低层次之间的关联性,某一层的协议增加或减少不影响其他层次协议的工作
- 便于标准化的制定
- 便于学习和了解计算机层次
7-1:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
顺口溜:物数网传会表应/应表会传网数物
产生数据 ↓
应用层:通过人机交互来实现各种各样的服务
应用层的作用:为常见软件提供接口,使应用程序能够使用网络服务。
常见的应用层协议:http(80)【超文本传输协议/端口号】、ftp(20/21)、smtp(25)【邮件协议】、pop3(110)【邮局协议】、telnet(23)【远程登陆协议】、dns(53)【域名解析服务】等
域名解析服务:将域名和IP地址进行转换
URL —— 统一资源定位符 百度一下,你就知道 其中域名为baidu.com
www=world wide web 以上对应IP地址
表示层:数据的编码、解码、加密、解密、压缩、解压缩(计算机语言和人类语言的相互转化以便双方理解)
L7-L6的转换即layer层的降级或升级中的解密解码解压缩或编码加密压缩
eg.汉卡\将英文转化为汉字
会话层:发现、建立、维持、终止会话进程 eg.先给小明发信息说你好为发现,然后小明不想回复就找个话题开始建立话题,用表情包维持,最后say拜即终止会话。
功能是对话控制和同步
上三层是程序员操作,只需要了解其作用。(产生垃圾的地方,需要用下四层传递)我们需要研究的是信息怎么从源端传输到数据端。
传递数据 ↓
传输层:
1、通过端口号来区分不同的服务。(并发,不同的服务需要被区分开)eg。听歌,查资料,打游戏等等都是“服务”
端口号0-65535(总共65536个即2的16次方)
端口号分类:静态/知名/著名端口号1-1023 一个端口号对应一个服务,成永久绑定关系
动态端口号:1024-65535 一个端口号对应一个服务,呈暂时性绑定关系
0为特殊端口号,保留使用,一般在网络编程中使用,代表所有端口号
http-超文本传输协议 80/8080
https-安全 443
URL(统一资源定位符)—https://www.sogou.com:443 静态端口号被省略了
2、提供可靠的传输 【传输层(代表)协议:TCP UDP】
TCP:传输控制协议/面向连接的可靠传输协议——全双工
面向连接(机制)——三次握手、四次挥手
任何基于TCP的应用,在发送数据之前,都需要由TCP进行“三次握手”建立连接。
TCP的建立——三次握手(OS:握手过程A伸手,B伸手,AB握手,三个步骤)
SYN:同步序列号请求 ACK:确认 Seq+1=确认(ACK) Flags:SYN置位,ACK置为的意思是确认了同步序列号请求并且发送了本端的同步序列号请求
1|→Seq1 |2
1| ←Seq2 Ack=Seq1+增加的字节...... |2
我们这个TCP通过同步序列号请求的方式来让同步序列号建立连接,在同步序列号收到我们的信息后进行确认
第一次是PC1向PC2申请握手,第二次是PC2向PC1申请握手,第三次是PC1和PC2握手,及TCP连接建立。 TCP使用序列号和确认序列号字段实现数据的可靠和有序传输。
TCP的关闭——四次挥手
当数据传输完成,TCP需要通过“四次挥手”机制断开TCP连接,释放系统资源。
- PC1发送FIN请求断开连接(FIN置位,ACK置位),2、PC2发送ACK确认(ACK置位),3、然后PC2也给PC1发送FIN请求断开连接(FIN置位,ACK置位),4、最后PC1发送ACK确认(ACK置位)关闭。【其中第三步和第四步的序列号和确认号都没有变】
可靠——确认(上课老师询问学生是否听懂就是确认)、重传(学生没听懂老师重新讲一就是重传)、排序(老师上课前需要做课程排序就是排序)、流控(老师把24h的课程拆分为7天的课程以便学生理解接受就是流控/流量控制)
TCP传输速度慢
UDP:用户数据报文协议/非面向连接的不可靠传输协议 eg.直播、电话、视频、网课
UDP传输速度快
3、数据分段。数据在正常传输中不能一次性传输,所以需要分段。【MSS 最大段长度1480B / MTU最大传输单元1500B】
字节、位的单位换算 8位=1字节 (位 B;字节 b)
MSS和MTU差了20个字节和数据的封装和解封装有关。
有效传输速度:100MB宽带的最大传输速度是?带宽/8*(80%——85%) |80—85是因为有损耗| 家用宽带、企业宽带、专线网速是不一样的(他们的IP地址都是租的) 家用宽带下载速度快,企业宽带的上传速度和下载速度相同,专线的IP地址花钱就可以不变,速度最快且最稳定,家用宽带和企业宽带的IP地址变化速度不同。
建立、维护和取消一次端到端的数据传输过程。控制传输节奏的快慢、调节数据的排序等等
网络层:通过IP地址来逻辑寻址 编址和寻址。IP协议-网际网络协议
互联的每一个节点,必然会存在一个IP地址
网络层负责一台主机到另一台主机之间的传递。实现数据从源到目的地的转发。
数据链路层:
数据链路层的作用:
-在不可靠的物理链路上,提供可靠的数据传输服务,把帧从一跳(结点)移动到另一跳(结点)。
数据链路层的功能:
-组帧、物理编址、流量控制、差错人群、接入控制
MAC媒介访问控制子层;LLC逻辑链路控制子层(承上启下)
MAC 通过MAC地址来进行物理寻址【每个电子产品(智能手机、智能手表、智能冰箱)都有网卡,有网卡就有MAC地址,独一无二的】MAC地址可以暴露很多东西
LLC 为上层服务提供FCS校验(了解,不需要深入研究)
保证了数据的完整性,使用了CRC循环冗余算法。
在数据链路层要解决数据传输的三个问题:封装成帧、透明传输、差错检验。差错检测里面最常用的一种检测算法,循环冗余算法(CRC)以及通过这个算法生成的帧检验序列(FCS)。帧校验序列(FCS)是指特别的检测码字符被添加到在一个通信协议中的帧中进行检错和纠错。发送主机在整个帧中有一个检测码随着发送。接收主机在整个帧中的检测码使用相同的运算法则,并将它与接收到的 FCS 相比较。这样,它能够探测是否任何数据在运输中丢失或被改变。它可能当时丢失这个数据,和请求错误帧的重传。一个循环冗余码校验常被用来估算 FCS。
物理层:定义电气电压、光学特性 接口规范(用于传输电信号、光信号==传输比特流)
问:如何定义N层设备?什么是七层设备?什么是三层设备?
答:此设备可以解封装到第N层,就称之为N层设备。
PDU==插板==协议数据单元 ↓
上三层——数据报文 ; 传输层——数据端 ; 网络层——数据包 ; 数据链路层——数据帧 ; 物理层——比特流(高低电频)
跨层封装 TCP协议号6 ; UDP协议号17
对等通信 中心思想是分步 0是低电流,1是高电流,通过高低电流的组合然后转成物理信号
二进制分块,需要根据介质加上一些特殊二进制(介质需要)
(频率 频分复用)
AP:无线接入点 作用是接入无线终端设备 【双绞线的八根线来源:本来只有一根线,但是发现速度不高,一根线是64k,随着新技术的出现,即频分复率,然后随着线的增加,从而增加频率达到提升效率的作用】
也称为RJ45,主要屏蔽的外界干扰为电磁干扰,外皮也有防止铜线受到物理损坏的作用。屏蔽双绞线多用于机房中,也有6类线,5类及5类以下就是适用于千兆网络,超5类是万兆网络。两两相交的线产生的磁场不同,会提升传输速率。 光纤分单模和多模 单模应用注入式激光二极管,光在光纤中横向(直线)传输,提供单一的直接通路,光源贵,线便宜;多模的应用于二极管,光在光纤中全反射传输,支持多条光通路,光源便宜,线贵。光纤用聚合物表皮包住。
常用适用于无线介质的数据通信标准:GSM全球移动通信系统 标准IEEE 802.11 统称为WIFI 标准IEEE 802.15 通常称为蓝牙 标准IEEE802.16 通常称为蓝牙
中继器 物理加压,会导致信号的失真。最多延长五倍传递(有失真,但可识别)。失真大,无法识别。
eg.传信过程中字会变模糊,然后在经过驿站时再描一遍,但是描多了就粗的看不清字了,导致最后就是信号的失真。
交换机是网桥的进化版,目的是提高工作效率。可以无限延长传输距离。
1、泛洪:广播 2、转发:你发给我,我转发给别人 3、丢弃:找不到了,不要了
工作原理 : A想把消息发给C,然后信息先发给交换机,然后交换机把信息发给B、C,然后C会回消息,但是B不会回消息。然后在第二次发消息时,交换机就能直接把消息发给C,不会再发给B。【交换机处理数据帧行为:交换机在MAC地址表中查到了这个帧的目的MAC地址,但是表中对应的端口编号是该帧从传输介质进入交换机的那个端口编号,则交换机对该单播帧执行丢弃操作】
交换机遇到不认识的帧或者广播活组播时发进行泛洪处理,当一个交换机网络中的主机数量达到二三百台的时候,由于泛洪问题交换机网络将出现卡顿的情况——中关于天涯芭提雅不同:广播泛洪导致网络宽带被广播包占用也叫做广播风暴。
无数个交换器在传播过程中全部都在进行广播,会导致广播风暴。广播风暴会导致传播瘫痪。路由器可以将不同的广播划分开,形成不同的域,可以解决广播风暴问题。
路由器原名网关,路由器的每个接口都是独立的广播域,给广播泛洪范围,把网络分割为一个个独立的广播域,然后为去往不同的广播域的数据提供由路由(寻找路径)并转发。
问:什么是路由器? 答:连接互联网内局域网和广域网的设备。
集线器:集线器的每个个端口相当于是一个中继器—总线的微缩,是一种共享介质(以太网的特点,共享单车就是典型共享思路),共享意味着不能在时间或空间上相遇。
厂商就是公司,厂商分配串号就是人员信息。
A、B、C连接同一个中继器的条件下 : A要给B和C发信息,就是先把信息发给中继器,中继器把信息发给B和C,这是广播传送,如果是A和B都要给C发信息,但是中继器只有一个,这个时候会发生矛盾。【FiFo机制(先进先出)、CSMA|CD协定(待冲突检测)】假如说A先去访问C,然后B就每隔一段时间发送一个包给C检测A是否还在C那里,如果在则退回等待,如果不在则B去访问C。或者是在矛盾发生之前就解决掉矛盾。
核心思维是排队。(通信双路功能。)
通信双工模式、单向通行(数据的接收和发送)、双向通行
双向通行:半双工(eg.对讲机)、全双工【集线器只能支持半双工模式,介质双绞线与光纤都是支持全双工的】
网桥:集线器的出现让更多的设备随着集线器网络的扩大冲突域也会变大,然后信号碰撞可能性越大,信号会越差。(交换器的前身)
如果想要继续扩大网络就必须解决冲突的问题,思路是隔离冲突域,我们发明了网桥,该设备原理类似于现实生活中的桥,连接了一个区域,并且在必要时阻止某些数据帧跨越桥。
增加接入数量 网络拓扑结构:总线型、环型、星型、树型
路由器的出现使网络在原本基础上需要增加一层——网络层。
自己动手做网线(T568B直连线):
八根线八个颜色分为T568A和T568B*
交叉线和直通线
同层之间使用交叉线,不同层之间使用直通线。
综合布线工程师:机柜布线
工具和材料:网线、Rj45水晶头、网线钳、网线测试仪。
制作过程:剪断、剥皮、排序、剪齐、插入、压制
封装与解封装:封装可以理解为各层将每一层的实现数据添加到内容数据之前,解封装是逆过程。而真正完成这个工作的是工作在各个层次的协议。类似于机芯的时候不可能直接寄出,需要信封、收件人、发件人、邮编、邮票等,这些东西相当于各层的实现数据也可以理解为晚上睡觉脱衣服,白天起床穿衣服,穿衣服等于封装,脱衣服等于解封装。
封装——每一层都把上层的协议包当成数据部分,加上自己的协议头部,组成自己的协议包。
七六五三层分为DATE,然后第四层为源端口号、目的端口号,第三层为源IP、目的IP,四二层为MAC,确认后进行FCS校验,然后进行封装,物理层进行传递。
解封装就是与封装顺序相反。
报头——TCP、UDP、IP
Wireshark抓包软件
Checksum校验和
UDP报头——无连接协议,发数据之前不会建立连接,收不收到全看三层是否达到有没有丢包,结束也不需要打招呼,好处是开销小,速度快,听应用层指挥。UDP适合需要实时性或者响应快的应用,比如手机app,流量媒体直播,互联网等等。其中QQ、VX也是用的UDP,他们是通过应用层协议来确保数据可靠的。 20字节头
TPC报头
源端口与目的端口必不可少,没有这个数据就不知道发给哪个应用。报文编号是为了解决数据的乱码问题。确认序列号是确认发出去的保温是否被对方接收到,没收到就应该重传。网层是没有可靠性保证的,但是TCP是一个可靠传输协议。TCP作为靠谱协议它不能改变网络环境但是它可以通过算法和重传来保证数据传输可靠。 TCP的数据偏移指的是首部长度,表示数据开始的地方离TCP段的起始处有多远。 状态位:syn表示发起一个连接,ack是确认,RST是重新连接。 8字节头
紧急指针 Urgent Pointer——打标签,让数据拥有一定记忆性
eg.传文件的时候断网了,网络恢复后能从断网的地方继续传送
- IP报头
1、4位版本号(Version)
指定IP协议的版本,对于IPv4而言,这里要填的就是4
2、4位头部长度(IHL)
这里的4位头部长度和 TCP报头中的 4位首部长度是一样的,4位头部长度 = 前20个字节 + 选项所占字节,单位是 4字节。(搭配16位总长度用于解包)
3、8位服务类型(Type of service)
8个比特位 = 3位优先权字段(已经弃用) + 4位TOS字段 + 1位保留字段。这里的8位服务类型不是给对方主机网络协议栈看的,而是给路上的路由看的。
其中4位 TOS分别表示: 最小延时、最大吞吐量、最高可靠性、最小成本。这四个相互冲突,每个报文只能选择其中一种,这个要根据使用场景决定。应用层的 ssh/telnet 协议 看重最小延时,而ftp协议看重 网络吞吐量。
4、16位总长度(Tota Length)
16位总长度 = 4位头部长度 + 数据长度。IP不是面向字节流的,收到的是一个个数据包,存在粘包问题,需要自己区分边界!TCP是面向字节流的,只考虑字节,区分边界的任务交给应用层来做。
因此,在解包的时候要同时使用4位头部长度 和 16位总长度。先通过4位首部长度去除报头,数据长度 = 16位总长度 - 4位头部长度,然后通过得到的数据长度取出第一个报文的有效载荷。
5、8位生存时间(TTL——Time to live)
代表了数据报到达目的地的最大报文跳数。一般是64。数据包每次经过一个路由,TTL-1,一直减到0还没到达, 那么就丢弃了。
因为可能存在这么一种情况,一个数据包刚准备跳转到下一跳,结果对方路由器就关了,导致这个报文一直在路由器间循环跳转,如果每次都这样,网络里就会存在大量的数据包。但是如果规定了跳转的最大次数,就可以减少网络中遗留的报文。
6、8位协议——Protocol协议-表示上层协议-TCP 6UDP17
表示上层使用的协议。发送方使用TCP协议,接收方也只能用TCP协议,对端网络层收到的时候,要交付给传输层对应的协议
7、16位首部校验和(Header Checksum)
鉴别报文比特位是否被修改。因为在传输的过程中,报文会受到噪声干扰,报文的比特位可能会被修改,16位校验和检验首部是否被修改。
8、16位分片标识(Flags)、3位标志(Identification)、13位片偏移(Fragment Offset)——支持
跨层封装
网络层再继续向下传递的时候,对报文大小就有限制了,MTU(max transform unit)是最大传送单元,代表了每次所能传输报文的大小(含IP报头)。当我们的报文大小(含IP报头)超过了1500 个字节的时候,将一个报文分成多部份来传递,这就是分片。
IP分片的原因主要是受二层MTU(的现制和数据链路层的限制,二层最大的传输单元是1500字节。
一般取值为1460(1500字节-20字节(IP头部)-20头部(TCP头部))
IP分片的参数字段:其主要依据IP数据包中的标识符、标志和片偏移量来完成。
标识符用来记录同一个包分出的片,每片的IP头都是一样的,这个标识符标识他们的ID。
二层帧
字段:DMAC 6字节 目的MAC地址,IPV4为6字节,该字段确定帧的接收者。
字段:SMAC 6字节 源MAC地址,IPV4为6字节,该字段标识发生帧的工作站。
TCP/IP
——协议栈
-是由一组不同功能的协议组合在一起构成的协议栈
-利用一组协议完成OSI所实现的功能
OSI模型是先有模型后有应用 TCP/IP先有应用,再有模型
TCP/IP是四层模型(五层——对等模型) OSI是七层模型
TCP/IP仅支持TCP/IP网络