HCIA的学习(2)

数据链路层

代表设备---网桥、交换机

  • 链路类型

  • 局域网---以太网(MAC地址)

  • 广域网

  • MAC地址----物理地址----二层地址

  • 前24位:表示厂商ID

  • 后24位:表示产品ID

  • 数据帧

  • 以太网-2格式IEEE 802.3格式

  1. 先通过原目MAC判断数据帧是否给自己

  1. 再通过类型字段填充的是什么(例:0x0800(16进制)--> 00001000 00000000(二进制)-->IP协议 )

  1. 最后通过FCS 校验前面4个----前面生成4字节(32位2进制)不可逆的数据(生成方法:CRC)填充到FCS,然后发送,接收到再重新计算前面4个进行核验)-->保证安全

HCIA的学习(2)_第1张图片

(D.MAC-- 目的MAC S.MAC--原MAC Type---类型字段 Date -- 数据包 FCS帧校验序列)

  • 帧发送方式

  • 单播(一对一)、广播(一对所有:目的MAC=FFFF:FFFF:FFFF)、组播(一对一组:特殊的广播)

网络层

  • IP地址----逻辑寻址---全网唯一

  • IP地址的有类分址-----根据IP地址前八位二进制的数字特征分类

  • A:0XXX XXXX-----0.0.0.0-127.255.255.255----掩码为8

  • B:10XX XXXX-----128.0.0.0-191.255.255.255---掩码为16

  • C:110X XXXX-----192.0.0.0-223.255.255.255----掩码24

  • D:1110 XXXX-----224.0.0.0-239.255.255.255

  • E:1111 XXXX------240.0.0.0-255.255.255.255

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-----定向广播地址(发送广播报文--范围:192.168.1所定的广播域)

  • 127.X.X.X----本地测试地址(用来测试本地电脑有没有损坏)

  • 169.254.0.0/16-----本地链路地址

  • 私有地址-----可重复

  • 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报文头部

HCIA的学习(2)_第2张图片
  • Version--版本(例IPv4,IPv6,填充0100或0110,占4比特)

  • Header Length--头部长度(单位4字节,共4比特:最大1111即15*4=60字节)--图中IP

  • DS Field--流控制

  • Total Length--报文总长度(2字节(例:记录图中IP+Date=1000字节这个信息用了两字节)--图中IP+Date

  • IP分片-----MTU(最大传输单元)---以太网中MTU=1500字节

  • Identification:标识位----给每一个分片的数据报文分配一个序列号,从小到大,一次加一,用于让接收方重

组数据

  • Flags:标志位---3bit

  • 第一位----无意义,用0填充

  • 第二位----DF位----若该位置为1,则代表未分片;若为0,则代表分片。

  • 第三位----M位-----表示该报文是否是最后一片。若为1,则代表后续还有报文。

  • Fragment Offset:片偏移----计算数据报文在源数据报文中的相对位置,单位为8字节。

例:5000字节报文分片                             片偏移
   1500(报文)-20(IP头部)=1480   DF=0   M=1     0 
                          1480   DF=0   M=1     1480/8=185
                          1480   DF=0   M=1     370
                           560   DF=0   M=0     555
  • Time to Live(TTL)--生存时间(数据报文在网络中可以存在多久)--计算1B即最大255 单位:路由器 个数(当数据包被一台路由器转发过一次,TTL减1)

  • Protocol--协议字段(作用与类型字段相似:告诉网络层把数据传送给TCP(协议号6)还是UDP(17)处理)

  • Header Checksum--首部校验和(校验IP所有,不校验后面的数据)

  • Source IP Address--原IP地址

  • Destination IP Address--目的IP地址

  • IP Options--选项字段(可有可无)

一行32位二进制,固定五行(所以最少20个字节)

传输层

  • 端口号---标识进程----16位二进制

  • 0-65535

  • 1-1023---著名端口(静态端口)

  • 1024-65535---动态端口----某些协议自动随机生成的

  • 常见端口号

  • telnet-----23

  • ftp-----20/21

  • http----80

  • https----443

  • DNS----53

TCP协议----传输控制协议

是一种面向连接的可靠性协议

HCIA的学习(2)_第3张图片
  • Source Port--原端口号

  • Destination Port--目的端口号

  • Sequence Number--序列号

  • Acknowledgment Number--确认号

  • Date Offset--数据偏移

  • Reserved保留字段(用于填充)

标志位--每个都是一比特

  • Window--窗口大小

  • Checksum--校验和(校验图中全部))

  • Urgent Pointer--紧急指针(与标志位URG一起使用)

  • Padding--保留的

一行32位二进制,固定五行(所以最少20个字节)

可靠性
  • 确认机制:传输确认,每收到一个数据段,均需要进行一次确认(例:接受到一个序列号为X的报文,回复一个X+1报文;希望下一个发送X+1报文)

  • 重传机制:当一个数据段中的某个报文丢失,会提醒要求重新传输该丢失报文(例:有X,X+1000,X+2000三个报文,若第一个丢了,不发确认包。若第二个丢了,第三个没丢,发X+1的确认包,提醒重发二,三报文)

  • 排序机制:传输一个数据段,被分为多个报文,从不同路径传输,最终到达目的地的顺序会被打乱,需要重新排列组合恢复原始报文内容

  • 流控机制(滑动窗口机制):调节窗口大小来对流量进行控制(指发送数据前先发送windor来协商窗口大小,回复4000,代表可发送4000数据)

  • 窗口大小:指无需等待确认就可以连续发送的最大数据量

TCP分段

TCP协议封装的数据不允许在IP层面进行分片操作。(例:若有三台设备A,B,C,A一次性发送1500字节(MTU=1500)给C,中间要经过B转发,B转发只能一次性转发500字节(MTU=500),若B重新分片发送,则序列号要改变,导致中途数据丢失,A接受到新的序列号辨别不出来,直接丢弃)

MSS(最大传输段)= MTU-IP头部-TCP头部(在源头直接分好)

PMTU---路径MTU发现协议

(例:若有三台设备A,B,C,A一次性发送1500字节(MTU=1500)给C,中间要经过B转发,B转发只能一次性转发500字节(MTU=500),先打包A-C数据包(MTU=1500;用0填充)发送给B,B看转发到C最大500字节,就重新打包B-A数据包告知MTU=500,A重新打包A-C数据包(MTU=500),B直接转发给C,C接受到发送C-A数据包经过B传送给A,A看是C发送的,就开始打包数据(MTU=500)正式发送)

面向连接
  • 三次握手

  • 标志位:SYN=1---请求建立连接 ACK=1---代表这个报文为确认报文(确认报文不需要确认)

  • 序列号:seq=x(x:随机生成)

HCIA的学习(2)_第4张图片
  1. 客户端-->服务端:请求建立连接,序列号为x

  1. 服务端-->客户端:确认报文,确认序列号为x+1(请求下一个报文序列号为x+1); 请求建立连接,序列号为y

  1. 客户端-->服务端:确认报文,确认序列号为y+1; 序列号为x+1(与上一个确认序列号对应)

(例:第一个报文丢了,客户端重传,服务器不做操作;

第二个报文丢了,客户端重传,服务器重传;

第三个报文丢了,客户端不做操作(因为确认报文不用确认,不知道它丢了),服务器重传)

  • 四次挥手

  • 标志位:FIN=1--- 请求释放连接

  • 序列号:seq=u (u:上一个服务器发出的确认序列号的值;v:上一个服务器发出的序列号(v-1) +1的值;w:随机生成)

  • MSL:数据在网络中传输的最大时间(2分钟)

HCIA的学习(2)_第5张图片
  1. 客户端-->服务端:请求释放连接,序列号为u

  1. 服务端-->客户端:确认报文,确认序列号为u+1,序列号为v; 服务端连接取消

  1. 服务端-->客户端:请求释放连接,序列号为w; 确认报文,确认序列号为u+1;

  1. 客户端-->服务端:确认报文,确认序列号为w+1,序列号为u+1; 客户端连接取消

(例:第一个报文丢了,客户端重传,服务器不做操作;

第二个报文丢了,客户端重传,服务器不做操作;

第三个报文丢了,客户端不做操作,服务器重传;

第四个报文丢了,客户端不做操作(但延迟2MSL关闭),服务器重传)

UDP----用户数据报协议

是一种非面向连接的不可靠传输协议。(没有分段,可以进行IP分片)

HCIA的学习(2)_第6张图片
  • Source Port--原端口号

  • Destination Port--目的端口号

  • Length--长度

  • Checksum--校验和

  • data octets...(optional)--数据(应用层)

一行32位二进制,固定两行(所以最少8个字节)

优点:(适用于视频传输等对数据完整性不高的;TCP适用于文件传输等对数据完整性有要求的)

若加入重传和确认机制,UDP将变得可靠

VLSM技术----可变长子网掩码(无类分址)---子网划分

实现方法---通过从主机位借位到网络位的方式,达到将一个大的网段划分为多个小的网段。而借出去

的位称为子网位,决定了能划分的网络个数。

192.168.1.0/24--------256个
   192.168.1.0  0000000/25------192.168.1.0/25--128个
      192.168.1.0 0   000000/26---192.168.1.0/26
      192.168.1.0 1   000000/26---192.168.1.64/26
   192.168.1.1  0000000/25------192.168.1.128/25--128个
      192.168.1.1 0 000000/26----192.168.1.128/26
      192.168.1.1 1 000000/26----192.168.1.192/26


10.0.0.0/8  划分为10个网段
  10.0  0000000.00000000.00000000/9
    10.0  0  000000.00000000.00000000/10
      10.0 0   0 00000.00000000.00000000/11
      10.0 0   1 00000.00000000.00000000/11
    10.0  0  000000.00000000.00000000/10
      10.0 1   0 00000.00000000.00000000/11
      10.0 1   1 00000.00000000.00000000/11
  10.1  0000000.00000000.00000000/9
    10.1  0  000000.00000000.00000000/10
    10.1  1  000000.00000000.00000000/10
......(划分个数=2^n(n=借的位数))

一次性划分
10. 0000  0000.00000000.00000000/12---10.0.0.0/12
10. 0001  0000.00000000.00000000/12---10.16.0.0/12
10. 0010  0000.00000000.00000000/12---10.32.0.0/12
10. 0011  0000.00000000.00000000/12---10.48.0.0/12
10. 0100  0000.00000000.00000000/12---10.64.0.0/12
10. 0101  0000.00000000.00000000/12---10.80.0.0/12
10. 0110  0000.00000000.00000000/12---10.96.0.0/12
10. 0111  0000.00000000.00000000/12---10.112.0.0/12
10. 1000  0000.00000000.00000000/12---10.128.0.0/12
10. 1001  0000.00000000.00000000/12---10.144.0.0/12
10. 1010  0000.00000000.00000000/12---10.160.0.0/12
10. 1011  0000.00000000.00000000/12---10.176.0.0/12
10. 1100  0000.00000000.00000000/12---10.192.0.0/12
10. 1101  0000.00000000.00000000/12---10.208.0.0/12
10. 1110  0000.00000000.00000000/12---10.224.0.0/12
10. 1111  0000.00000000.00000000/12---10.240.0.0/12

CIDR技术(无类域间路由)

将小的网段汇聚成大的网段

  • 方法:取相同位,去不同位。

  • 满足条件

  • 母网相同(同属于同一类)

  • 掩码一致

例1:
172.16.1.0/24
172.16.2.0/24
172.16.3.0/24
172.16.4.0/24

172.16.0000 0001.0
172.16.0000 0010.0
172.16.0000 0011.0
172.16.0000 0100.0

172.16.0000 0000.0/21---172.16.0.0/21-----子网汇总(汇总后的掩码(21)>主类掩码(16))


例2:
192.168.1.0/24
192.168.2.0/24
192.168.3.0/24
192.168.4.0/24

192.168.0000 0001.0/24
192.168.0000 0010.0/24
192.168.0000 0011.0/24
192.168.0000 0100.0/24

192.168.0000 0000.00000000/21--192.168.0.0/21---超网(汇总后掩码(21)<主类掩码(24))

练习:
10.1.1.0/24
10个网段,但是其中8个网段要求容纳主机数为12台,2个网段容纳22个
10.1.1.0000 0000/28
10.1.1.0001 0000/28
10.1.1.0010 0000/28
10.1.1.0011 0000/28
10.1.1.0100 0000/28
10.1.1.0101 0000/28
10.1.1.0110 0000/28
10.1.1.0111 0000/28(16个)

10.1.1.1000 0000/28
10.1.1.1001 0000/28
10.1.1.1000 0000/27--10.1.1.128/27(32)

10.1.1.1010 0000/28
10.1.1.1011 0000/28
10.1.1.1010 0000/27--10.1.1.160/27(32)

10.1.1.1100 0000/28
10.1.1.1101 0000/28
10.1.1.1110 0000/28
10.1.1.1111 0000/28

ICMP---网络中的哨探(网络层)

HCIA的学习(2)_第7张图片

除了最后一个是请求,其余全是答复

  1. 网络不可达:跨广播域通讯,网关路由器中路由表没有,则路由器回复网络不可达

  1. 主机不可达:主机离开网络

  1. 协议不可达:协议功能未打开

  1. 端口不可达:端口断开

  1. 重定向:回复优化发送路径

ping

用于检测网络连通性

ping IP地址或www.baidu.com(域名)

-a  ----指定ping包中的源IP地址
ping -a 源IP 目的IP

-c  ----指定发送报文的次数,缺省情况下发送5次

-h  ----指定TTL值

tracert

用于逐跳跟踪报文的转发路径

TTL足次加一,用于查看经过的设备

你可能感兴趣的:(HCIA,学习,网络,tcp/ip,网络安全,网络协议)