数据通讯
1、通道
2、节点
3、载体
网络:通过一些特殊的通道把分布在不同地理位置的物品连接起来,从而实现信息的传输和共享。
网络作用:
1、承载数据通讯
2、资源共享
3、分布处理
计算机网络基础
世界上第一台计算机–1946年–计算导弹弹道–分时操作系统
二进制语言(机器语言)
- 自然语言–编码
- 编码–二进制
- 介质访问控制层:控制硬件,如将二进制转化为电流,并控制物理层输出电流
- 计算–CPU
对等网
- 升级硬盘资源
- 增加电脑数量
继续扩大网络
-
增大距离
- 信号失真
- 网线
- 仅仅减少失真而不能完全避免
- 信号衰减
- 中继器(最多延长五倍距离)
- 信号失真
-
增加节点
- 网络拓扑结构
- 网状:实际上是由星型拓扑扩展而来,使用全连接的方式,网状中任意一个节点都属于中心节点。
- 优点:稳定,从任意节点到任意节点有多条链路可选择-------(运营商网络)
- 缺点:结构复杂,成本高
- 总线型:由一条多芯网线向四周延展,连接各个节点。
- 优点:信道利用率高,结构简单,成本低
- 缺点:同一时刻,仅允许两个节点进行通讯
- 星型:由中央节点和通过链路连接中央节点的节点组成。(应用最广)
- 优点:结构简单,扩展性强,连接方便
- 缺点:信道利用率低,对中心节点要求高
- 环型:由节点与节点连接的线路组成闭合环。
- 优点:增加和删除设备简单
- 缺点:当某一节点故障时会影响全网导致整张网络瘫痪
集线器----HUB
-
纯物理层设备
-
缺点:
1.安全问题
2.延时问题----产生大量的垃圾信息
3.地址问题—MAC地址—48位二进制—12位16进制表示(全球唯一)
4.冲突问题—(类似总线型网络,信息发生冲突相互抵消)载波侦听多路访问/冲突检测机制----CSMA/CD(先听后发,边听边发,冲突停发,随机延迟后重发)—仅仅是减少了冲突,并没有完全解决冲突
- 冲突域:连接在同一根导线上的所有工作站的集合
-
网络无限传输距离
-
完全没有冲突
-
存在单播传输数据
为了满足这些要求,出现了网桥(二层设备—处理二进制信号)—交换机
交换机
(利用MAC地址表进行数据转发)
-
识别MAC地址-----MAC地址自学习
- MAC地址自学习功能:交换机在接受到一个数据报文后,根据数据报文中的源MAC地址,与接受该报文的接口形成对应关系,并记录在MAC地址表中。
- 然后,交换机根据数据报文的目的MAC地址,查询MAC地址表项,若有匹配项,则根据匹配项的指示直接进行单播转发
- 若无匹配项,则进行洪泛操作(除了数据的进入接口外,均发送一份数据)
- MAC地址表不是永久记录的,而是存在老化时间—5分钟。
交换网络–仅仅由交换机连接各个节点形成的网络–仅具备几十个节点,最多不超过200个节点。
广播域—洪泛的范围
路由器
- 隔离广播域
- 路由器的一个接口就是一个独立的广播域。
- 转发数据
- 依靠路由表进行数据转发
- 依靠交换机进行数据转发–同广播域
- 借助路由器进行数据转发–跨广播域
IP地址
IPv4:32位二进制构成,点分时进制
IPv6:128位二进制构成
IP地址:
192.168.1.1
IP地址分为两部分:
网络位:表示该IP所在的网络(判断是否在同一个广播域)
主机位:表示主机号
掩码
- 32位二进制组成,用于判断IP地址的网络位位数
- 连续的1+连续的0组成
- 掩码中数字1所代表的含义为IP地址的比特位为网络位
网关
被称为一个广播域的门户,也就是路由器与该广播域所连接的接口,合格接口的IP地址称之为网关IP
- 判断是否为同一广播域
- 若为同广播域,则将数据发送给交换机,由交换机进行洪泛或单播形式转发数据
- 若为不同广播域,则将数据发送给路由器,即网关IP所在设备,再由路由器进行数据转发
- 目的主机接收到该数据后,重复前三步操作进行数据发送
ARP协议
原理:根据已知的地址来获取与其对应的另一种未知地址
ARP工作过程
- 发送者主机PC1:
- PC1发送一个广播帧,源IP和源MAC是PC1的,目的IP是网关,目的MAC是FFFF:FFFF:FFFF
- 该数据包会被同广播内的所有主机接受,并且该报文内容是(ARP请求报文)
- 谁是某某某IP,请回复我
- 非目的的主机PC2:
- 由于该广播帧是网络中所有主机均可接受的报文,故PC2会接收这个数据帧,提取IP地址,发现并不是找自己的,所以会丢弃该数据包
- 目的主机(网关):
- 网关接受到该报文后,会发现目的IP地址是本接口的IP,故会查看报文内容,并打包一个数据报文进行回复,其中,包含了本接口的MAC地址。
- 实际上,设备在进行ARP请求之前,会先查找本地的ARP缓存表,若本地存在对应关系,则直接按照本地ARP缓存表中描述的MAC地址进行数据封装。若没有对应关系,则会发送ARP请求报文,接收方会恢复ARP应答报文,当发送方接收到ARP应答报文后,会将该报文内容填充到ARP缓存表中。
- ARP缓存表的老化时间----180s
- ARP分类
- 正向ARP----通过IP获取MAC(网络中最常见的)
- 反向ARP----通过MAC获取IP
- 免费ARP----无故ARP----用于自我介绍和冲突检测
- 代理ARP由网关设备代替主机查血MAC地址
TCP/IP
美国国防部开发
OSI参考模型(开放式系统互联模型)
(ISO(国际标准化组织)提出)参考模型(协议模型)
-
应用层:接收用户数据,人机交互的接口
-
表示层:将编码转换为二进制(加密、解密)–统一格式
-
会话层:针对传输的每一种数据建立一条连接(防止不同数据之间相互干扰)
控制层面:上三层
数据层面:下四层
-
传输层:区分流量、定义数据传输方式;TCP、UDP
-
网络层:通过IP地址进行逻辑寻址
-
数据链路层:通过MAC地址进行物理寻址
- LLC–逻辑链路控制层
- MAC–介质访问控制层
-
物理层:定义协议物理模型(电压、电气、接口规范);传输比特流
报文的封装和解封装
PDU(Protocol Data Unit)协议数据单元
封装:数据要通过网络进行传输,要从高层一层一层的向下传送,如果一个主机要传送数据到别的主机,先把数据包装到一个特殊协议报头中,这个过程叫封装。
解封装:数据被封装并通过网络传输后,接收设备将删除添加的信息,并根据报头中的信息决定如何将数据沿协议栈向上传给合适的应用程序。
协议数据单元----数据在不同层面的表现形式
上三层----数据
传输层----数据段
网络层----数据包
数据链路层----数据帧
物理层----比特流
TCP/IP—互联网使用(将物理层和数据链路层合并成物理接口层,上三层合并成应用层)
物理层
-
规定了一些物理特性(数据传输速率、传输模式、电器电压)
-
代表设备:中继器、集线器、
-
介质
-
同轴电缆—淘汰
- 10BASE5----粗同轴电缆—500m
- 10BASE2-----细同轴电缆—185m
- 速率极低
-
双绞线
- 屏蔽双绞线(STP)非屏蔽双绞线(UTP)
- 类型:1、2、3、4、5、6、超5、超6、7、8(加粗为常用)
-
光纤
-
-
-
双工模式
- 全双工:通讯双方都能同时发送和接收数据
- 半双工:通讯双方都能发送和接收数据,但是不能同时进行
- 同一条物理线路上的设备双工模式必须相同
-
线序
- 568A
- 绿白、绿、橙白、蓝、蓝白、橙、棕白、棕
- 568B
- 橙白、橙、绿白、蓝、蓝白、绿、棕白、棕
- 直连线、交叉线
- 568A
数据链路层
-
代表设备—网桥、交换机
-
链路类型
- 局域网—以太网(MAC地址)
- 广域网
-
MAC地址—物理地址—二层地址
- 前24位—表示厂商id
- 后24位—表示产品id
-
数据帧
- 以太网-2格式、IEEE 802.3格式。
FCS校验以太网帧头部(32位,采用CRC算法),数据部分最小为46B,若不足则补0。Type指上层协议类型
- 以太网-2格式、IEEE 802.3格式。
-
帧发送方式
- 单播、广播(目的MAC=FFFF:FFFF:FFFF)、组播(给特定的设备汇聚成分组,对特定分组的所有设备进行广播,就叫做组播。)
网络层
- IP地址—逻辑寻址
- IP地址的有类分址-----根据IP地址前8位的数字特征分类
- A:0XXX XXXX—掩码为8
- B:10XX XXXX—掩码为16
- C:110X XXXX—掩码为24
- D:1110 XXXX—无掩码特征
- E: 1111 XXXX—无掩码特征
A\B\C三类--->单播地址----可做源地址也可做目的地址
D类--->组播地址---只能做目的地址
E类--->保留地址(科研地址)
-
特殊地址
- 0.0.0.0—以太网地址 (代表所有地址或没有地址)
- 255.255.255.255—受限广播地址
- 192.168.1.0/24—主机位全0----代表该广播域—网段
- 192.168.1.255/24—主机位全1----定向广播地址
- 127.X.X.X----本地测试地址
- 169.254.0.0/16----本地链路地址
- 0.0.0.0—以太网地址 (代表所有地址或没有地址)
-
私有地址—可重复
- A类:10.0.0.0-10.255.255.255—一个地址段
- B类:172.16.0.0-172.31.255.255----十六个地址段
- C类:192.168.0.0-192.168.255.255—256个地址段
-
公有地址
- 除了上述所有的地址以外的所有单播地址。
IP报文头部
-
Version:版本号(4位),指定IP协议的版本
-
Header Length:首部长度(4位),表示IP报头的长度
-
DS Field:(8位)服务类型
-
Total Length:整个IP数据报文长度
-
Identification:标识位,(16位)唯一地标识主机发送的每一个数据报。其初始值由系统随机生成;每发送一个数据报,其值就加1。该值在数据报分片时被复制到每个分片中,因此同一个数据报的所有分片都具有相同的标识值
-
Flags:标志位(3位)
- 第一位—无意义,用0填充
- 第二位—DF位—若该位置为1,则代表未分片;若为0,则代表分片
- 第三位—MF位—代表该报文是否为最后一位,若为1,则代表后续还有报文,若为0则后续无报文
-
Fragment Offset:(13位)片段偏移量,表示相对于原始IPv4有效载荷起始位置的相对位置。
-
Time to Live:生存时间,(8位)指出一个数据报文被丢弃前,可以经过的链路的最大数量。每经过一个路由器时减1,当为0时,数据报文将被丢弃
-
Protocal:协议(8位)标识有效载荷中的上层协议。常用协议号:
-
1 ICMP
-
2 IGMP
-
6 TCP
-
17 UDP
-
88 IGRP
-
89 OSPF
-
-
Header Checksum:报头校验和(16位)表示IP报头的校验和,用于错误检查。该字段仅用于IP报头的校验和,有效载荷不包括在校验和计算中。数据报文沿途的每一个中间路由器都重新计算和验证该字段
-
Source Address:源地址(32位)发送方的IP地址
-
Destination Address:目的地址(32位)接收方的IP地址
-
Options:选项
分片过程:
IP分片-----MTU(最大传输单元)—以太网中MTU=1500字节,若报文长度超过MTU,则将报文分割成若干较小片段在链路上传输,将报文分割成多段的过程叫分片。
接收端根据分片报文中的标识符,标志,及片偏移字段对分片报文进行重组。标识符用于识别属于同一个数据包的分片,以区别于同一主机或其他主机发送的其它数据包分片,保证分片被正确的重新组合。标志字段用于判断是否已经收到最后一个分片。最后一个分片的标志字段设置为0,其他分片的标志字段设置为1,目的端在收到标志字段为0的分片后,开始重组报文。片偏移字段表示每个分片在原始报文中的位置。第一个分片的片偏移为0,第二个分片的片偏移表示紧跟第一个分片后的第一个比特的位置。
传输层
- 端口号—标识进程—16位二进制
- 0-65535
- 1-1023—著名端口(静态端口)
- 1024-65535—(动态端口)—某些协议自动随机生成的
- 常见端口号
- telnet----23
- ftp—20/21
- http—80
- https—443
- DNS—53
- 0-65535
TCP协议----传输控制协议
是一种面向连接的可靠性协议
可靠性
- 确认机制:传输确认,每收到一个数据段,均需要进行一次确认
- 重传机制:当一个数据段中的某个报文丢失,会提醒要求重新传输该丢失报文
- 排序机制:传输一个数据段,被分为多个报文,从不同路径传输,最终到达目的地的顺序会被打乱,需要重新排列组合恢复原始报文内容
- 流控机制(滑动窗口机制):调节窗口大小来对流量进行控制、
- 窗口大小:指无需等待确认就可以连续发送的最大数据量
TCP分段
TCP协议封装的数据不允许在IP层面进行分片操作。
MSS(最大传输段)=MTU-IP头部-TCP头部
PMTU–路径MTU发现协议
当链接上的某个路由器收到了这个报文,当IP报文长度大于路由器的MTU时,路由器会查看这个IP报文的DF值
- 若为0(允许切片),就会分片并把分片后的数据传到下一个路由器
- 若为1,则会丢弃数据同时返回一个ICMP包给发送端,传达数据不可达,需要分片并带上当前机器的MTU。发送端接收到这个ICMP消息后会更新自己的MTU,同时记录到一个PMTU表中。因为TCP的可靠性,会尝试重传这个消息,同时以这个新MTU值计算出MSS进行分段,此时新IP包就可以顺利被刚才的路由器转发。
机制):调节窗口大小来对流量进行控制、- 窗口大小:指无需等待确认就可以连续发送的最大数据量
TCP分段
TCP协议封装的数据不允许在IP层面进行分片操作。
MSS(最大传输段)=MTU-IP头部-TCP头部
PMTU–路径MTU发现协议
当链接上的某个路由器收到了这个报文,当IP报文长度大于路由器的MTU时,路由器会查看这个IP报文的DF值
- 若为0(允许切片),就会分片并把分片后的数据传到下一个路由器
- 若为1,则会丢弃数据同时返回一个ICMP包给发送端,传达数据不可达,需要分片并带上当前机器的MTU。发送端接收到这个ICMP消息后会更新自己的MTU,同时记录到一个PMTU表中。因为TCP的可靠性,会尝试重传这个消息,同时以这个新MTU值计算出MSS进行分段,此时新IP包就可以顺利被刚才的路由器转发。
- 若路径上还有MTU更小的路由器,那么上面的情况还会循环发生。