代表设备---网桥、交换机
链路类型
局域网---以太网(MAC地址)
广域网
MAC地址----物理地址----二层地址
前24位:表示厂商ID
后24位:表示产品ID
数据帧
以太网-2格式、IEEE 802.3格式。
先通过原目MAC判断数据帧是否给自己
再通过类型字段填充的是什么(例:0x0800(16进制)--> 00001000 00000000(二进制)-->IP协议 )
最后通过FCS 校验前面4个----前面生成4字节(32位2进制)不可逆的数据(生成方法:CRC)填充到FCS,然后发送,接收到再重新计算前面4个进行核验)-->保证安全
(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个地址段
公有地址
除了上述私有地址和特殊地址外的所有单播地址。
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
是一种面向连接的可靠性协议
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协议封装的数据不允许在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:随机生成)
客户端-->服务端:请求建立连接,序列号为x
服务端-->客户端:确认报文,确认序列号为x+1(请求下一个报文序列号为x+1); 请求建立连接,序列号为y
客户端-->服务端:确认报文,确认序列号为y+1; 序列号为x+1(与上一个确认序列号对应)
(例:第一个报文丢了,客户端重传,服务器不做操作;
第二个报文丢了,客户端重传,服务器重传;
第三个报文丢了,客户端不做操作(因为确认报文不用确认,不知道它丢了),服务器重传)
四次挥手
标志位:FIN=1--- 请求释放连接
序列号:seq=u (u:上一个服务器发出的确认序列号的值;v:上一个服务器发出的序列号(v-1) +1的值;w:随机生成)
MSL:数据在网络中传输的最大时间(2分钟)
客户端-->服务端:请求释放连接,序列号为u
服务端-->客户端:确认报文,确认序列号为u+1,序列号为v; 服务端连接取消
服务端-->客户端:请求释放连接,序列号为w; 确认报文,确认序列号为u+1;
客户端-->服务端:确认报文,确认序列号为w+1,序列号为u+1; 客户端连接取消
(例:第一个报文丢了,客户端重传,服务器不做操作;
第二个报文丢了,客户端重传,服务器不做操作;
第三个报文丢了,客户端不做操作,服务器重传;
第四个报文丢了,客户端不做操作(但延迟2MSL关闭),服务器重传)
是一种非面向连接的不可靠传输协议。(没有分段,可以进行IP分片)
Source Port--原端口号
Destination Port--目的端口号
Length--长度
Checksum--校验和
data octets...(optional)--数据(应用层)
一行32位二进制,固定两行(所以最少8个字节)
优点:快(适用于视频传输等对数据完整性不高的;TCP适用于文件传输等对数据完整性有要求的)
若加入重传和确认机制,UDP将变得可靠
实现方法---通过从主机位借位到网络位的方式,达到将一个大的网段划分为多个小的网段。而借出去
的位称为子网位,决定了能划分的网络个数。
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
将小的网段汇聚成大的网段
方法:取相同位,去不同位。
满足条件
母网相同(同属于同一类)
掩码一致
例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
除了最后一个是请求,其余全是答复
网络不可达:跨广播域通讯,网关路由器中路由表没有,则路由器回复网络不可达
主机不可达:主机离开网络
协议不可达:协议功能未打开
端口不可达:端口断开
重定向:回复优化发送路径
用于检测网络连通性
ping IP地址或www.baidu.com(域名)
-a ----指定ping包中的源IP地址
ping -a 源IP 目的IP
-c ----指定发送报文的次数,缺省情况下发送5次
-h ----指定TTL值
用于逐跳跟踪报文的转发路径
TTL足次加一,用于查看经过的设备