根据B站上韩立刚老师的视频课整理的笔记。发现网上看视频课真是个好东西,尤其是对于复习阶段的我来说。。。
计算机网络的学习过程中其实需要结合实验操作,以前上课的时候应该是用过华为的交换机的(??似乎是这个吧,有点忘了)
需要注意的是,计算机网络中涉及大量的英文缩写,了解它们的具体含义对理解协议等很有帮助
目录
- 一、OSI模型
- 7层模型
- 网络安全和OSI参考模型的关系
- 4层模型(TCP/IP协议)
- 5层模型
- 二、物理层
- 基本概念
- xDSL
- HFC(Hybrid Fiber Coax,光纤同轴混合网)
- Ftt_技术(光纤到_)
- 三、数据链路层
- 基本问题
- 封装成帧
- 透明传输
- 差错控制
- 循环冗余检验 CRC
- 方法
- PPP(Point to Point Protocol,点到点协议)——使用点对点信道的数据链路层
- 以太局域网(以太网)
- 局域网的拓扑:
- 总线型拓扑
- 星型拓扑
- 局域网的特点
- CSMA/CD——使用广播信道的数据链路层
- 争用期:
- 二进制指数类型退避算法
- 以太网信道利用率
- Mac层
- 扩展以太网
- 物理层扩展
- 数据链路层扩展
- 虚拟局域网
- 高速以太网
- 100BASE-T 以太网
- 吉比特以太网
- 四、网络层
- 网络协议IP
- 网络互联设备
- 虚拟互联网
- IP协议简介
- IP地址层次结构
- 表示方法
- 子网划分
- 等长子网划分
- 变长子网划分
- 超网
- IP地址与MAC地址
- ARP(Address Resolution Protocol, 地址解析协议)
- RARP(Reverse Address Resolution Protocol, 逆地址解析协议)
- IP数据报
- 数据报转发
- ICMP(Internet Control Message Protocol,网际控制报文协议)
- IGMP(Internet Grobal Message Protocol)
- OSPF(Open Shortest Path First,内部网关协议)
- BGF( Gateway First,外部网关协议)
- 五、传输层
- TCP
- TCP的可靠传输
- 场景
- TCP
- TCP的流量控制
- TCP的拥塞控制
- UDP
- 六、应用层
- 域名系统DNS(Domain Name System)
- DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)
- FTP(File Transfer Protocol,文件传送协议)
- TELNET( 远程终端协议)
- RDP (Remote Desktop Protocol,远程桌面)
- WWW(World Wide Web, 万维网)
- HTTP (Remote Desktop Protocol,超文本传输协议)
- HTTPs (Remote Desktop Protocol,超文本传输协议)
网络体系架构:计算机网络各层及其协议的集合
一、OSI模型
OSI(Open System Interconnect,开放式系统互连)
-互联网法律上的国际标准
7层模型
之所以使用多层模型,是为了使各层直接的关联尽量低(eg.应用层中包含网络层信息,可能会导致后续维护程序有困难)
n | 层 | 作用 | 例 |
---|---|---|---|
7 | 应用层 | 产生网络流量的,可与用户进行交互的 | |
6 | 表示层 | 是否需加密、压缩,开发人员 | 聊天记录加密(2进制、ASCII) |
5 | 会话层 | 服役期和客户端建立的会话 | 查看木马 netstat-n (+b可以查看木马名) |
4 | 传输层 | 可靠传输(建立会话),不可靠传输(不建立会话)、流量控制 | 前:下载电影;后:qq聊天、域名解析。服务器暂停传输 |
3 | 网络层 | 网络地址多址,选择最佳路径(使用动态路由协议) | |
2 | 数据链路层 | 数据如何封装,添加物理层地址(MAC) | |
1 | 物理层 | 电压、接口标准 | 网线有8根线,电压0,1对应不同的电压 |
5~7程序开发人员需要考虑 | |||
网络工程师主要解决2~4的问题 | |||
网络排错:从下至上排查 | |||
*所有命令可以通过nestat /?查看windows下的所有命令(参数) |
网络安全和OSI参考模型的关系
物理层安全:给他人提供了访问你的网络的机会
数据链路层安全: ADSL AP密码(无线:个人PC的网卡)
应用层安全: eg.设置路由器某地址段不能通过
用用层安全; SQL注入漏洞(eg.可登陆到服务器) 上传漏洞(PSP,服务器可能会被攻击)
4层模型(TCP/IP协议)
层 | 名称 |
---|---|
4 | 应用层 |
3 | 传输层 |
2 | 网络层 |
1 | 网络接口(访问)层 |
5层模型
《计算机网络》第6版所提出的模型
层 | 发送数据模式 | 发送的内容(???) | |||
---|---|---|---|---|---|
5 | 应用层 | 传输数据单元PDU | qq上发的文档 | ||
4 | 传输层 | 运输层报文 | 上层+运输层收不 | ||
3 | 网络层 | IP数据报(IP分组) | =上层→分段编号+协议+IP地址 | ||
2 | 数据链路层 | 数据帧 | 上一层的包+MAC地址 | ||
1 | 物理层 | 0111100(bit) | 上一层+ 帧头帧尾 |
图示:
P13作业:查看会话,查看建立会话的程序 不懂
P15 sNAT,dNAT,VMware(虚拟机) 不懂
二、物理层
基本概念
机械特性 eg:
特性
特性
特性
eg.典型的数据通信模型:
此外,涉及到的概念还有通信相关的:数据 信号 码元 x工通信 Nyquist定理 Shanon公式 Manchester码 _DM PCM编码等
xDSL
用数字技术对现有的模拟电话用户线在高频的使用
通常我们的语音范围在300-3400HZ内(标准模拟电话信号频带),但用户线本身实际可通过的信号频率仍然超过1MHz
xDSL技术将0~4kHz地段频谱留给传统电话使用,把原来未被利用度而高段频谱留给用户上网使用
上网:
用户端分离后接ADSL调制解调器
用户端分离后接DSLAM(DSL Acess Multiplexer,数字用户线接入复用器)
接入段接单元ATU(Acess Termination Unit)
ATU-C(Acess Termination Unit-Central Office,端局)
ATU-R(Acess Termination Unit-Remote,远端)
电话分离器 PS(POTS Splitter)
HFC(Hybrid Fiber Coax,光纤同轴混合网)
在有线电视网CATV的基础上开发的一种居民宽带接入网
Ftt_技术(光纤到_)
可以是光纤到家(FTTH,FIber To The Home),光纤一直铺设到用户家庭(155Mb/s),可能是居民接入网最后的解决方法;
也可以是光纤到楼 (FTTB, Fiber To The Building),光纤进入大楼后转为电信号,后用电缆或双绞线分配至用户
也可以是光纤到路边 (FTTC, Fiber To The Curb):路边到各用户,使用星形结构双绞线作为传输媒体(155Mb/s)
三、数据链路层
主要考虑从数据链路层→数据链路层的过程
链路(link):一条点到点的物理线路段,中间无其它节点(一条链路只是一条通路的组成部分)
数据链路(data link):物理线路+通信协议控制数据传输。构成数据链路,需将实验这类协议的硬件和软件加到链路上。
- 最常用方法:使用适配器(网卡)以实现这些协议的硬件和软件
- 一般的适配器都包括了数据链路层+物理层的功能
帧(framing):数据链路层传输的对象
基本问题
封装成帧
在一段数据的前后分别添加头部(SOH)和尾部(EOT)束标记,一个帧就这样构成了,这样我们就确定了帧的界限。一帧是一个整体,不可分
手部和尾部的重要作用:帧界定;不完整的帧都会被扔掉
MTU:最大传输单元,≤1500byte
透明传输
如遇以上情况,我们会在传输的EOT、ESC前加上一个转义字符ESC(字符填充),避免被误认为是帧尾部或其它;添加阶段同开始和结尾符;而删除转义字符(所有)则是在数据送往网络层之前,同样通过收方的数据链路层完成的:
这里的“透明”是指发送和接收方并不知道传输过程中加入的内容
发送端的数据链路层在数据中出现控制字符"SOH"或“EOT"的前面插入字符“ESC”(其十六进制编码1B)
字节填充(byte stuffing)或字符填充(character stuffing)——接收端的数据链路层在将数据送网络层之前删除插入的转义字符。
如果转移字符也出现在数据当中,那么应在转义字符前插入一个转义字符。当接收端收到连续的两个转义字符时没救删除其中前面的一个。
差错控制
为保证数据传输的可靠信,需要进行各种差错监测措施
传输过程中可能会产生比特差错:1→0,0→1;一段时间内,传输错误的bit/传输比特总数的bit=误码率(BER,Bit Error Rate)
循环冗余检验 CRC
在数据链路层传送的帧中被广泛使用的一种差错检测方法。
规则:
在发送端,先将数据划分为组。嘉定每组k个比特。
假设带传送的一组数据M=101001(现在k=6).我们在M的后面再添加共差错检测用的n位冗余码一起发送。
冗余码如何计算?
- 用二进制的模2运算进行,2^n乘M的运算,这相当于在M后面添加n个0。
- 得到的(k+n)位的数除以事先已选定好的长度为(n+1)位的除数P,商为Q、余数为R。余数R比除数P少1位,即R是n位。
将所传输的码+n个0作为被除数M,加0的个数以M的位数为2^n为准
除数P:n+1位的任意数
商Q
余数R:n位,作为FCS(帧检验序列)
具体操作:
模二除法,中间亦或,遇0上0
将Q+R作为发送方的数据传输,若接收方收到数据后进行同一个除数P的除法(除数P通过两方数据链路层的协商来共同决定),余数为0,则视作无差错传输
特点:
- 该种方法只能做到无差错接收(accept):收到的帧(不含丢弃的),都能以非常接近1的概率认为这些帧传输过程中未界产生差错即,凡是接收端数据链路层,接受的帧都没有传输差错
- 是一种无比特差错,而不是无传输差错的检测机制(eg.可能存在传输的数据错误,但是余数却为0的情况。这种情况下,除数P位数越大,错误概率越小)
倘若要做到“可靠传输”,就必须加上确认和重传机制(考虑到帧重复、丢失、乱序的情况)
使用的信道(后有详细内容):
- 点对点信道(使用PPP协议)
- 广播信道:一对多过程复杂,主机多,需用专用的共享信道协议,协调主机的数据发送
方法
PPP(Point to Point Protocol,点到点协议)——使用点对点信道的数据链路层
PPP协议已成为因特网的正式标准[RFC 1661]:多家厂商支持
作用:可记账(时间、IP地址、费用、身份认证)
使用场合:
电话线拨号上网
ISP(Internet Service Provider,互联网服务商):常见的移动电信等
组成:
- 数据链路层协议可以用于异步串行或同步串行介质
- 使用LCP(Link Control Protocol,链路控制协议)建立并维护数据链路链接。eg.实名验证
- 网络控制协议(NCP,Network Control Protocol)允许在点到点连接上使用多种网络层协议
帧格式
FF:固定的16进制,目的地址
、03是固定的
7E:开始、结束,0111 1110
协议:PPP有一个2byte的协议字段,用以标记是何种数据: - 0x0021——PPP帧的信息字段就是IP数据报
- 0xC021——信息字段是PPP链路控制数据
- 0x8021——表示这是网络控制数据
- 0xC023——信息字段是安全性认证PAP
- 0xC025——信息字段是LQR
- 0xC223——信息字段似乎安全性认证CHAP
QUESTION: 若信息字段中出现了标志字段的值,是否可能会被误认为是标志字段?
- 若信息字段中出现0x7E,则将其转变为2字节序列
- 若信息字段中出现了一个0x7D的字节,则将其转变成为2字节序列(0x7D,0x5D)
- 若信息字段红出现ASCII码的控制字符(即数值小于0x20的字符),则在盖子附前面要加入一个0x7D字节。同时将该字符的编码加以改变
在 同步通信中:可能传输bit流,不一定为8倍数的bit
此时为了防止数据中出现头尾部的字段,采用零bit填充法
eg.信息字段中出现0111 1110(7E)
解决方案:发送端在5连1后插0 0111 11**+0+**10
接收端把5连1后的0删除
|应满足的条件 | 不需要满足的条件|
|–|–|–|
| 简单——首要要求 || 纠错|
|封装成帧 |流量控制 |
| 透明性 |序号 |
| 多种网络层协议 | 多点线路 |
| 多种类型链路 |
| 差错检测 || 单工半或双工 |
| 检测连接状态 || Etc. |
| 最大传送单元 |
| 网络层地址协商 |
|数据压缩协商 |
Encapsulation(封装):帧中继(frame-relay)、HDLC(High-Level Data Link Control,高级数据链路控制)也是两种数据链路层常使用的协议
但接受和发送方都需要有与对方相同的协议,不然无法解析
以太局域网(以太网)
局域网的一种
提供的服务是不可靠交付,即尽最大努力的交付;接收到不正确的数据帧即丢弃,差错的纠正由高层决定。
传统以太网使用:粗同轴电缆→细同轴电缆(便宜)→双绞线(便宜、灵活)
局域网的拓扑:
环形网主要用于总线,现少用于局域网(令牌环网)
总线型、树性网络端点有电阻吸收信号
总线型拓扑
最早的以太网是将多个计算机都连接到一根总线上。引为总线上无“有源器件”(?),该种方法简单可靠。
星型拓扑
总线型的网络不够健壮(?),所以采用了星型结构,结构的中心是可靠性非常高的——集线器**(Hub)**
集线器:使用电子器件模拟实际电缆线的工作,使用大规模集成电路芯片,所以硬件设备的可靠性被大大的提高,使得整个系统不像传统以太网那样运行;作用类似于一个多接口的转发器,可以理解成有信号放大的作用
各工作站仍使用CSMA/CD协议,并共享逻辑上的总线
标准:10BASE-T(双绞线)
通信距离稍短,每个站到集线器距离不超过100m,速率10Mb/s,该无屏蔽双绞线星型网的出现,降低了成本,也提高了可靠性,是局域网发展史上的一个里程碑,它为以太网在局域网中的统治地位奠定了牢固的基础。
其它标准:100Base-FX、100Base-T4、
局域网的特点
网络为一个单位所有,且地理范围和站点均有限。
广域网花钱租带宽,ISP维护;局域网无线AP,直接用网线连接
优点:
- 具广播功能,从一个站点可以很方便地访问全网。局域网上的主机可以共享,链接在局域网上的各种硬件和软件字眼
- 便于系统的拓展和逐渐地演变,各设备的位置可灵活调整改变
- 提高系统可靠性、可用性和生存性
共享通信媒体:
静态划分:FDM、TDM,WDM,CDM
动态媒体接入控制(多点接入):随机接入(主要被以太网采用);受控接入(eg.多点线路探询(polling)或轮询,目前已不采用)
CSMA/CD——使用广播信道的数据链路层
以太网使用使用协议:CSMA/CD
CSMA/CD(Carrier Sense Multiple Access with Collision Detection):使用该协议的以太网只能进行半双工通信
“多点接入”——多台计算机以多点计入的方式连接在一根总线上(总线拓扑)
“载波监听”——每一个站在发送数据前,需先检测(采用电子技术)总线是否有其它计算机在发送数据(信号),若有,则暂时不发送数据以免发送碰撞
“碰撞(冲突)检测”——计算机发送数据同时检测信道上的信号电压大小
-多站点同时于总线上发送数据时,总线上的信号电压摆动值增加(相互叠加
- 某站检测到的信号电压摆动值超过一定门限,就认为总线上至少有两个站同时发送数据,表明产生了**碰撞
典型的碰撞检测情况:
若检测到碰撞
- 总线上传输的信号产生了严重失真,无法从中恢复出有用信息
- 每一个正在发送数据的站,一旦发现总线上出现碰撞,需立即停止发送,以免浪费网络资源,等待一段随机时间后再次发送
争用期:
最先发送数据帧的站,在发送数据帧后至多经过时间2τ,皆可以知道发送的数据帧是否遭受碰撞。若争用期内未检测到碰撞,可以肯定本次发送不会产生碰撞
常用数据:
- 以太网端到端往返时延2τ成为争用期(碰撞窗口),一般取51.2us为争用期的长度
- 对于10MB/s的以太网,在争用期内可发送512bit,即64字节
- 发送数据时,若1前64字节未发生冲突,则后续的数据就不会发生冲突
最短有效帧长
- 若发生冲突,就一定是在发送的前64byte之内
- 由于已检测到冲突就立即终止发送,这时已经发送出去的数据就不会发生冲突
- 以太网规定最短有效帧长为64byte,长度小于64byte的帧都是由于冲突而异常终止的无效帧
二进制指数类型退避算法
发生碰撞的站在停止发送数据后,要推出(退避)一个随机事件再发送数据。
- 确定基本退避时间,一般是取为争用期2τ
- 定义参数 k, k=min[重传次数,10]
- 从整数据和 [0,1,…,(2^k-1)]中随机地取出一个数,记为r。重传所需的时延就是r倍的基本退避时间。
- 当重传到16次人不能成功时即丢弃该帧,并向高层报告。
以太网的两种标准
- DIX Ethernet V2是世界上第一个局域网产品(以太网)的规则
- IEEE 802.3标准
DIX Ethernet V2和IEEE 802.3只有很小的差别,因此可以将802.3局域网称为“以太网”,而严格来说“以太网“应该指的是符合DIX Ethernet V2标准的局域网
为了使数据链路层更好的使用多种局域网标准,在IEEE 802中,将局域网的数据链路层拆成了两子层
- 逻辑链路层控制LLC(Logical Link Control)子层:放入接入到传输媒体有关的内容
- 媒体接入控制MAC(Medium Access Control)子层:与接入传输媒体无关,任何协议的局域网对LLC子层来说都是透明的(???)
由于TCP/IP中常用的局域网是DIX Ethernet V2而不是802.3标准中的几种局域网,因此LLC的作用已经不大了,所以许多厂商生产的适配器上就装有MAC协议
以太网信道利用率
一个帧从开始发送,经可能发生的碰撞期后,再重传数次,到发送成功且信道转为空闲(需+时间τ使得信道上无信号在传播)为止,是发送一帧所需的平均时间
以太网单边端到端时延(传输时间)τ
发送时间T0=帧长度L/数据发送速率(b/s)
平均时间=n*争用期2τ+帧发送成功时间T0+发送至到达目的地时间τ
以太网信道利用率S,在理想情况下,无碰撞(显然不是CSMA/CD协议,而是一种特殊的调度方法)信道利用率的最大值为:
中的参数a↑:τ↑,T0↓;
a→0
Mac层
MAC层的硬件(/物理)地址(MAC地址):48位的2进制,有统一标准
- IEEE注册管理机构RA向厂家分配地址字段的前24位(前3字节),后24位由厂家自行定义
- 一个地址块可以生成2^24个不同地址,该种48位地址的通用名称是EUI-48
- “MAC地址”实际上就是适配器地址或适配器标识符EUI-48
查看计算机的MAC地址:
:MAC地址全1(FFFFFF)
多播:频道
由上,最常用的MAC帧是以太网V2的格式:
由于传输的帧数据为至少为64byte(碰撞检测),除去头尾部的字节,数据报至少要有46byte的内容
物理层无尾部——以太网使用Manchester编码,所以不用尾部帧,无信号即结束
通过以上规则
无效Mac帧:
对于检查出的无效MAC帧简单丢弃。以太网不负责重传丢弃帧
- 帧长度不是整数字节
- 帧检验序列FCS查出有错
- 数据字段的长度不在46~1500字节间
- 有效的Mac帧长度为64~1518byte字节间
帧间最小间隔
最小间隔为9.6us,相当于96bit的发送时间
一个站在检测到总线开始空闲后,还要等待9.6us才能再次发送数据
原因:使刚刚收到数据帧的站的接收缓存可以及时清理,做好就收下一帧的准备
扩展以太网
物理层扩展
物理:主机使用光纤和一堆光纤调制解调器连接到集线器
数学:
eg.大学有三个系,各自有一个局域网
若加上一个主干集线器,变成了一个更大的冲突域(效率反而降低)
数据链路层扩展
数据链路层扩展局域网——使用网桥,接集线器
网桥:工作再数据链路层,它根据MAC帧的目的地址对收到的帧进行转发;具有学习功能;具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的Mac地址,然后在确定将该镇帧转发到哪一个接口
相比以上,冲突域增加,效率提高
优点:
- 过滤通信量
- 夸大了物理范围
- 提高了可靠性
- 可互联物理层、不同MAC子层和不同速率(如10Mb/s 和100Mb/s以太网)的局域网。
缺点:
- 存储转发增加了时延
- 在MAC子层并没有流量控制功能
- 具有不同MAC子层的网段桥接在一起时的时延更大
- 网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞。这就是所谓的广播风暴
透明网桥:目前使用最多。“透明”指局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对各站来说看不见。它是一种即插即用设备,起标准为IEEE 802.1D
自学习算法;
按照自学习算法处理收到的帧和简历转发表:
- 若从A发出的帧从接口x进入了某网桥,那么从这个接口出发沿相反防线规定可以把一个帧传送到A
- 网桥每收到一个帧,就记下其源地址和进入网桥的接口,作为转发表中的一个项目。
- 在简历转发表时是把帧首部中的源地址写在“地址”这一栏的下面。
- 在简历转发表时,则是根据收到的帧首部中的目的地址来转发的,这时就把“地址”栏下面已经记下的源地址当做目的地址,而把记下的进入接口当做转发接口
交换机是高速网桥:这种网桥的接口多,可直连计算机,不存在冲突(接口直接有地址MACa,MACb),安全;效率高,有排队机制,可存储转发
eg.A和B通信正在传数据,A也想和C传数据,可以等待AB通信之后继续
eg.10M交换机,每个端口都是10M;有24个接口,则有240M的整体交换能力
练习:ping通,交换机的接口学习到对应的MAC地址
使用了生成树算法:(和生成树算法的关系?)
为了避免产生转发的帧在网络中不断地兜圈子(消耗网络资源)
互联在一起的网桥在进行彼此通信后,就能找出原来的网络拓扑的子集,该子集中,整个联通的网络中不存在回路,即在任何两个站之间只有一条路径。
为了得出能够反映网络拓扑发送变化时的生成树,在生成树上的根网桥,每隔一段时间还要对生成树的拓扑进行更新。
根交换机:优先级强→MAC地址小(Root ID Address,Brdge ID Address)
根端口(RP):每个 交换机 离 根交换机 最近的端口 称为 根端口
指定端口(DP):每一根线都有一个到根交换机传输速度快(近)的端口
非指定端口(NP,阻断端口):非指定端口和根端口
虚拟局域网
LAN(local network)
虚拟局域网VLAN(Virtual local network)是由一些局域网万股单构成的与物理位置无关的逻辑组
虚拟局域网其实只是局域网给用户提供的一种服务,而不是一种新型局域网
交换机的额使用使得VLAN的创建成为可能
虚拟局域网VLAN是由一些局域网网段构成的,与物理位置无关的逻辑组
- 这些网段具有某系共同的需求
- 每一个VLAn的帧都有一个明确的标识符,指明发送这个帧的工作站是属于哪一个VLAN
虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网
干线需要配上干线(中继)端口,有多个Vlan 的数据
一个Vlan=一个广播域=逻辑网段
eg.配置一个虚拟局域网,不同的VLAN不能通信
虚拟局域网协议允许在以太网的帧个格式中插入一个4byte的标识符,成为称为VLAN标记(tag),知名发送该帧的工作站属于哪一个虚拟局域网
高速以太网
100BASE-T 以太网
速率达到或超过100Mb/s的以太网成为高速以太网
在双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用IEEE 802.3的CSMA/CD协议。1000BASE-T 以太网又成为快速以太网(Fast Ethernet)
100Base-T以太网的物理层
- 100BASE-TX:使用2对UTP 5 类线或屏蔽双绞线 STP
- 100BASE-FX:使用2对光纤
- 100BASE-T4:使用4对UTP 3类线或5类线
特点:
- 在全双工方式下工作而无冲突发生。因此不适用CSMA/CD协议。MAC帧格式仍然是802.3标准所规定的
- 保持最短帧长不变,但将一个网段的最大电缆长度减小到100m,帧间时间间隔从原来的9.6us改为现在的0.96us
eg.可以设置PC机的全/半双工,传输数率
吉比特以太网
比特以太网的物理层:
1000BASE-X 基于光纤通道的物理层
- 1000BASE-SX SX表示短波长
- 1000BASE-LX LX表示长波长
- 1000BASE-CX CX表示铜线
1000BASE-T
- 使用4对5类线 UTP
它的出现扩大了以太网使用的范围,从局域网(校园网、企业网)扩大到城域网和广域网,实现端到端的以太网传输
优势:
- 成熟的技术
互操作性很好
广域网中使用以太网时价格便宜
统一帧格式简化了操作盒管理
eg.Cisco建网3层模型
四、网络层
网络层关注的是如何将分组从源端沿着网络路径送达目的端。
在计算机通信中,可靠交付由端系统来负责
网络层应该向运输层提供的服务
-
虚电路服务:电信网中
H1发给H2的所有分组都沿着同一条虚电路(网络)传送;若该条路线出现问题,则该网不通
-
数据报服务:因特网中
数据包含目的地址源地址
两者对比:
参数 | 虚电路服务 | 数据报服务 |
---|---|---|
思路 | 可靠通信应当由网络来保证 | 可靠通信由用户主机来保证 |
连接的建立 | 必须有 | 不需要 |
重点地址 | 仅在连接建立阶段使用,每个分组使用端的虚电路号 | 每个分组都有终点的完整地址 |
分组转发 | 属于同一条虚电路的分组均按照同一路由进行转发 | 每个分组独立选择路由进行转发 |
结点出现故障 | 所有通过故障的结点的虚电路均不能工作 | 出故障的点可能会丢失分组,一些路由可能会发生变化 |
分组的顺序 | 总是按发送顺序到达终点 | 到达终点时不一定按发送顺序 |
端到端的差错处理和流量控制 | 可以由网络负责,也可以由用户主机负责 | 由用户主机负责 |
网络协议IP
网络互联设备
- 物理层中继系统:转发器(repeater)——hub
- 数据链路层中继系统:网桥或桥接器(bridge)(交换机)
- 网络层中继系统:路由器(router)
中间设备又称 中间系统 或 中继(relay)系统 (原始) 网络层以上的中继系统:网关(gateway)
(现有)网关(gateway):路由器接口地址,一般用本网段第一个地址
ps.个人PC恶意配置多个默认网关,IP地址
虚拟互联网
若仅从网络层考虑问题,则IP数据报就可以想象实在网络层中传送
虚拟互联网:相比互联网络不关心内部结构,只通过IP地址
意义:
虚拟互联网络也就是逻辑互联网络,即互联起来的各种物理网络的异构性本来是客观存在的,但是我们利用IP协议,就可以使这些性能各异的网络从用户方看起来是一个统一的网络
IP协议简介
网际协议IP是TCP/IP体系中最主要的协议之一。与IP协议配套使用的还有几种协议:
- 地址解析协议ARP(Address Resolution Protocol)
- 逆地址解析协议RARP(Reverse Address Resolution Protocol)
一般认为ARP和RARP是一种 - 网际控制报文协议 ICMP(Internet Group Mangerment Protocol)
- 网际组管理协议 IGMP(Internet Group Management Protocol)
可以看出,ARP协议是基础(解析对方网卡的Mac地址)
IP地址层次结构
ipv4 ——第四版TCP/IP地址,32位二进制(8,8,8,8),地址有限,网络号(net-id,标记主机/路由器所连接到的网络)+主机地址(host-id,标记该主机/路由器)
ipv6 ——
网络地址(网络号)唯一指定了每个网络
主机部分:不能全为1(255,广播地址,网络中所有计算机都能收到),或者全为0(代表一个网段)
一网络中的每台计算机都共享相同的网络地址,并用它作为自己IP地址的一部分
ps.同一局域网的主机或路由器的IP地址中的网络号必须一致
IP地址类别:
A类:首位0,第一个可用网络号:1;最后一个可用网络号:126;子网掩码255.0.0.0(主机位24位,256^3-2台机器)
B类:首位10,第一个可用网络号:128.1;最后一个可用网络号:191.255;子网掩码255.255.0.0(主机位24位,256^2-2台机器)128~191
C类:首位110,第一个可用网络号:192.0.1;最后一个可用网络号:223.255.255;子网掩码255.255.255.0(主机位24位,256台机器-2)192~224
D类:首位1110,组播
E类:首位1111
eg.TCP/IP协议栈工作正常
表示方法
几个特殊地址:
127.0.0.1 :计算机本地环回地址
169.24.7.28:备用IP地址
保留的私网地址,未被正式启用,可在局域网中使用
10.0.0.0
172.16.0.0——172.31.0.0
192.168.0.0——102.168.255.0
传输信息:
由各IP地址和子网掩码确认是不是在同一网络,若不是→交给网关
是→可以直接传数据报
子网划分
由原地址继续划分子网:
等长子网划分
每个子网 是原来的1/2,子网掩码向后移一位
- 写出新子网网段(地址),子网掩码
- 路由器地址:计算机网关(一般用第一个主机地址)
eg.
A子网可用地址:1~62
B子网可用地址:65~126
C子网可用地址:129~190
D子网可用地址:193~254
每一段的最后俩:一个是广播地址,一个是子网地址
eg.点到点的子网划分,原网络192.168.0.0,(C类)分成2个地址:即路由器-路由器直连
划分到网段‘4’,划分了6次,可用主机位为1,2,子网掩码255.255.255**.252**(最长,30位)
变长子网划分
仍然需要画出数轴
子网掩码会有不同
eg,给定地址192.168.80.249,子网掩码:255.255.255.224
地址是C类地址,224——子网111(右移3位)
子网地址(主机位归0):192.168.80.124
eg.判断主机位是否全0或全1,给定地址192.168.201.168/30
00 168%4=0
01 ∴ 主机位为00
10
11
超网
将多个网段合并成同一个网段,将相同的部分作为
合并网络的规律
IP地址与MAC地址
链路层及以下使用硬件地址
网络层及以上使用IP地址
计算机A和B的通信过程
数据报中目标地址和源IP地址不变(目标)
目标和源MAC地址动态改变(下一跳)
代理服务器只能管理本网段的计算机MAc地址,其它网段只能管理Ip地址
ARP(Address Resolution Protocol, 地址解析协议)
广播寻址,衍生出很多安全问题
MAC地址/ARP欺骗
eg. p2p终结者,可控制网内(同一路由器)计算机上网带宽
M2:网关地址
M1:安装了P2P终结者的计算机mac地址
该地址告知了其它计算机网关地址是M1
eg. 网络执法官:影响本网内主机上网和主机间互联的通断
安装ARP防火墙可以有效防止欺骗:后续的路由器地址不会被随意修改,以之前的为准
网络链接→后点修复:清理所有的mac地址缓存
RARP(Reverse Address Resolution Protocol, 逆地址解析协议)
eg.Mac地址扫描工具
IP数据报
首部+数据
区分服务:QoS服务质量
总长度:首部+数据部分
标识:产生了数据报即+1
数据报片:>1500字节的数据会再拆分,有编号
偏移:开头x字节/8
生存时间:TTL-1-1-1(每经过一个路由器)
协议号:数据类型 eg.UDP
首部校验和:检验首部是否有错误,不采用CRC而采用简单的计算方法,结果0,保留数据反则丢弃帧
抓包工具:Ethereal
数据报转发
网络畅通的条件:能去能回
数据路由:在不同网段转发数据报
xx的路由器必须知道目标下一跳/源网络给哪个接口
静态路由:路由器需要知道所有的__的信息
eg.计算机上的默认路由即网关,是本网段的出口
Router1>en \*
Router1#config t
Router1#show ip route
Router1#config t
Router1(config)#ip route 192.168.0.0 255.255.255.0
Router1(config)#^Z
Router1#
Router1#show ip route
Router1#
Router1#config t
Router1(config)#no ip route 192.168.0.0 255.255.255.0
eg.Windows上加默认路由
route add 0.0.0.0 mask 0.0.0.0 10.7.86.1
网关:
练习:网络负载均衡
eg.对route相关的操作进行查询
route /?
动态路由:动态选择最佳路径(不讨论带宽,步数↓,路径优↑)
RIP(Routing Information Protocol,路由信息协议)协议 最早 周期性广播-30s 跳数max16
Router>
Router>
Router>en
Router#config t
Enter configuration commands,one per line,End with CNTL/
Router(config)#rou
Router(config)#router r
**Router(config-router)#router rip**
Router(config-router)#net
**Router(config-router)#network 172.16.0.0 \*网段,多种则写多个**
ICMP(Internet Control Message Protocol,网际控制报文协议)
简单来说,就是用来探测网络故障的
网际层使用该协议,提高了IP数据报报交付成功的机会,允许主机或者路由器报告差错情况和提供相关异常情况的报告
IP数据报的数据部分即为:ICMP报文
ICMP报文的类型
类型0:请求
ICMP应用举例:
- PING用来测试两个主机之间的连通性
eg.连通,来回延迟时间
ping \*后接IP地址
- PING使用了ICMP回送请求与回送回答报文
- PING是应用层直接使用网络成ICMP的 子,并未通过运输层的TCP或UDP
eg.查看丢包的情况,丢包率(路由器转发丢法率,链路丢包率)
pathping www.CSDN.com
IGMP(Internet Grobal Message Protocol)
OSPF(Open Shortest Path First,内部网关协议)
开放式最短路径优先协议,也是一种动态路由协议
eg.互联网运营商,某些公务部门常用
度量值: **带宽**
触发式更新
支持多区域
eg.OSPF划分两种不同的区域
骨干网,自治系统AS(路由器变化在内部完成)
三个表:
- 邻居表 hello(每10s/次,局域网每2s/次)
- 链路状态表(eg.rA-rB,rA-rF,每个路由器都知道其它路由器直连路径)
- 计算路由表 计算开销最小,不会产生环路
特点:
- 向本自治系统中的所有路由器发送信息,使用的方法是洪泛法
- 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器
- 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息
配置OSPF协议
Router>
Router>en
Router#config t
Router(config)#rou
Router(config)#router ospf 1
Router(config-router)#net
Router(config-router)#network
%Incomplete command
Router(config-router)#network 172.16.0.0 0.0.255.255 a \*翻转子网掩码
Router(config-router)#network 172.16.0.0 0.0.255.255 area 0 \*翻转子网掩码
eg.至172.17.0.2途径路径
PC>tracert 172.17.0.2
经过三个路由器→到达目标地址
BGF( Gateway First,外部网关协议)
使用不同协议的AS(譬如RIP\OSPF之流)之间的交流:使用BGP发言人通告如何走
特点:
BGP协议交换路由器信息数量不是很多
BGP发言人数目不多,路由选择相对简单
BGP协议支持CIDR
BGP建立时,交换整个路由表之后只交换变化部分
NAT
节省公网IP地址
内网安全
缺点:比路由慢
PAT
端口映射 允许Internet上的计算机访问企业内网的某个服务
enable
五、传输层
TCP
TCP的可靠传输
网络不可靠,可靠性由传输层决定
原理——停止等待协议
有点:简单
缺点:信道利用率U太低
改进方法:连续发数据包(TD)——流水线传输
接收方采用累积确认方式
有差错情况下,等待时间RRT+一小段时间,再进行超时重传
使用上述的确认和重传机制,我们就可以在不可靠的传输网络上实现可靠的通信,该种可靠的传输协议常称为自动重传请求ARQ(Automatic Repeat request)
ARQ表明重传的请求是自动进行的,接收后不需要请求发送方重传某个出错的分组
为了提高效率,一般采用累加确认的方法:只确认连续的部分
场景
两个对等运输实体在通信时传送你的数据单位叫做运输协议数据单元(Transport Protocol Data Unit)
建立会话可以用 netstat -n查询
TCP
TCP 传送的协议数据单元 是TCP报文段(segment) 全双工通信,进行多分段编号传输
需要先建立连接(开销大),提供可靠交付的、面向连接的服务
面向字节流,进行流量控制 、拥塞控制
数据报形式=首部(源端口 目的端口 长度 检验和)+数据
每一条TCP连接只能有两个端点(endpoint),每一条TCP连接只能是点对点的,不提供广播或者多播服务
ps.这里所指的端点,非主机非主机IP地址非应用进程也非传输层的协议,而是叫做套接字(socket)
套接字=端口号拼接到IP地址(IP地址:端口号)
TCP连接::={socket1,socket2}
={(IP1:port1),(IP2:port2)}
eg
.报文TCP报文首部(多数数据报均无最后一行的选项+填充部分;某些数据报只有首部无数据)
序号:本次开头发送的首先是文件的第x个字节
确认号:目标已成功收到,该发第x个字节了
数据偏移:最大1111(15)*4字节(20字节的固定首部,说明‘选项’最多40个字节),告知计算机头部的大小,数据从何时开始传送
TCP的流量控制
在给定的发送端和接收端间的点对点通信量的控制,它所要做的就是一直发送端发送数据的速率
,以便接收端来得及接收。
TCP的拥塞控制
是一种全局性过程涉及到所有主机,所有路由器,以及降低网络传输性能有关的所有因素
对资源需求的总和>可用资源
设置慢开始门限状态变量ssthresh
拥塞避免算法的实例
当TCP链接进行初始化时,将拥塞窗口设置为1.图中的窗口单位不适用字节而使用报文段。
慢开始门限的初始值设置为ssthresh=16
新的ssthresh值=拥塞窗口/2
快重传及快恢复:
接收到三个连续的ACk后,启用快恢复,ssthresh=原窗口/2,拥塞窗口从该值开始+1增加
发送窗口实际上限值
发送方的发送穿够的额上限值应当取为接收方窗口和拥塞窗口两个变量中较小的一个,
发送窗口的上限值=Min[rwnd,cwnd]
如果认为上述描述不够清晰,还可以参考TCP之 流量控制(滑动窗口)和 拥塞控制(拥塞控制的工作过程)
传输连接管理
模型建立、数据传送、连接释放
“三次握手”(面试中计算机网络必问)
seq=sequence序列号
ack=
A——客户端,B——服务器
①A向B发送同步数据包 SYN=1(同步位,TCP首部),ACK=0(确认号还未使用),seq=x(序号)
②B向A发送,SYN=1,ACK=1,seq=y(由B计算机指定),ack=x+1(已收到A发送的x字节)
(以上证明网络畅通,协商数据所需的参数。rwnd等)
③A向B发送,ACK=1,seq=x+1(由B计算机指定),ack=y+1
Q:为什么还要简历第三次连接呢?(面试会问)
A:A向B发送的数据可能存在时间延迟,若只有两次传输直接开始通信,B预留了资源会造成浪费
(考试中可能出现填空题)
UDP
UDP 传送的协议数据单元是UDP报文或用户数据报。
传输前不建立连接(节省服务器资源),对方收到UDP报文后,不需要给出任何确认
一个数据包即可完成数据通信,
首部(源端口 目的端口 长度 检验和)+数据
选项:可接受的的最大数据长度;确认是否支持选择性确认
eg.校验和
超时重传时间的选择:TCP每发送一个报文段,就对该报文段设定一才计时器。只要计时器时间设置的重传时间到但是还没有收到确认,就要重传这一报文段。
(RFC2988推荐的α值为1/8)
超时重传时间应略的大于上面得出的加权平均往返时间RTTs
eg. QQ,及时消息采用UDP协议
发送文件采用TCP协议
访问网站,TCP协议
多播, UDP
域名解析,UDP
六、应用层
域名系统DNS(Domain Name System)
DNS服务的作用:主要是是将域名变成IP地址的过程
域名:名称,易于访问,全球唯一,在互联网组织进行名称注册
根
顶级域名 com(商业) edu(教育) net(提供信息) cn(中国的) org(组织) gov(政务):代表复服务器性质
二级域名 baidu tecent
三级域名 wenku
ftp/mail/www——三种服务器
域名解析测试:
- ping
- nslookup
>nslookup
>Address:222.222.222 \*检查到该DNS服务器提供域名解析
>www.baidu.com
>Address:36.152.44.96 \*对应的IP地址 (有俩,后面会讲到负载均衡)
36.152.44.95
或是直接:
>nslookup www.baidu.com
>Address:36.152.44.96
36.152.44.95
>quit \*结束后,以quit退出
域名解析过程:
安装自有的DNS服务器场景:
- 解析内网自己的域名
- 减低到Internet的域名解析流量
- 域环境(先要先通过DNS找到域环境)
安装DNS服务步骤:(72-6略)
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)
将计算机的网络配置好
DHCP服务器为下辖的计算机分配地址,计算机使用DHCP协议请求获得地址
静态IP地址(机房服务器,教室的台式机)
动态IP地址 (在不同区域移动的笔记本)
计算机地址分配的方法
动态配置的过程就使用了DHCP协议
DHCP服务器可进行跨网段分配:
服务器创建多个子网域
路由器某接口写上
Rounter(config-if)#ip helper-address xxx.xxx.xxx.xxx(DHCP服务器地址)
这样,当路由器收到主机发出的广播,会将其变为定向
释放租约
ipconfig /release
FTP(File Transfer Protocol,文件传送协议)
互联网传输文件,多用该协议。
TCP控制连接:+端口21,传送文件操作命令,例如增删改移动
TCP数据连接(进行上传下载)分为以下两种:
-
主动模式 FTP客户端告诉FTP服务器,客户端使用端口n侦听
FTP服务器和FTP客户端的端口n建立连接 FTP服务器源端口20 -
被动模式 FTP服务器打开一个新端口n进行侦听 等待FTP客户端的连接 ,再
被动模式FTP不能下载数据
FTP传输模式
- 文本模式:ASCII模式,以文本序列传输数据
- 二进制模式:Binary模式,以二进制序列传输数据
在FTP端设有防火墙 只打开21和20端口,仅使用主动模式进行数据连接
TELNET( 远程终端协议)
简单的远程终端协议,是因特网的正式标准
TELNET命令默认+23端口
eg. 远程调试网络设备
.(如对路由器配置:通过主机将命令传送给路由器)
eg.远程管理
(由通过网络将主机命令给另一台主机执行)
可以进行多种操作
net user administrator al! \*更改用户密码
net user user aLICE al! /add \*添加用户
RDP (Remote Desktop Protocol,远程桌面)
(类似于同一台计算机上的不同用户):Linux
可用于远程管理服务器
将用户添加到远程桌面组 Remote Desk User组
Server是多用户操作系统,启用远程桌面可以多用户同时使用服务器(操作系统)
XP和Windows单用户操作系统
WWW(World Wide Web, 万维网)
提供分布式服务,可以互相访问(通过建立关联,相互查找)
万维网相关概念:
客户服务器方式 | 客户程序 | 浏览器 | 服务器程序 | 万维网服务器 | 页面 | 统一资源定位符URL | HTTP使用TCP连接 | 超文本标记语言HTML | 搜索引擎 |
---|
URL(Uniform Resource Locator,统一资源定位符):两部分组成,而在URL中的字符对大写或小写没有要求。URL的一半形式为:
<协议>://<主机>:<端口>/<路径>
端口相同时,采用主机头区分(域名)
电子邮件(SMTP,POP3,IMAP)
HTTP (Remote Desktop Protocol,超文本传输协议)
HTTPs (Remote Desktop Protocol,超文本传输协议)
HTTP+SSL加密算法
保证安全性
传输层与应用层之间的关系
用端口区分服务(网络标识)
熟知端口:数值一般为0~1023
目标端口
HTTP=TCP+80端口(801端口)
HTTPS=TCP+443端口 [前端面试中常问]
FTP=TCP+21端口;邮箱
SMTP=TCP+25端口;发邮件
POP3=TCP+110端口;收邮件
RDP=TCP+3389端口
计算机共享文件夹(下载拷贝)=TCP+445端口
SQL=TCP+1433端口
DNS=UDP+53端口 or TCP+53(偶尔)
TELNET:23
熟知端口:
熟知端口:
eg.网站不能访问,测试端口
客户端请求服务,数据报通过IP地址找到服务器,端口一直在侦听
更改端口增加服务器安全