(1)同轴电缆(有线电视):算法
(2)双绞线(局域网网线):缓存
(3)光纤(广域网网线):服务器
右图中为光纤接口类型:网络
①最小的单位为:位(bit),表示形式为 0 和 1数据结构
②第二小的单位:字节(Byte),一个标准英文字母占一个字节位置,8 个 bit;一个标准汉字占二个字节位置,16 个 bit架构
③比 比 TB 还大的单位有:还有 PB、EB、ZB、YB 、NB、DB,通常人不常使用并发
MAC 地址总共为 48bits,前 24bit 为各个厂商的惟一标识;后 24bits 为每一个厂商为此网卡提供的惟一的身份标识。
例如:E8-4E-56-19-01-72
tcp
ping 192.168.1.1 -n 10 ping www.baidu.com -n 10 ping www.163.com -n 10 pause
(1)一个接口能够借用环回口的接口地址:ide
[Huawei-GigabitEthernet0/0/1]ip address unnumbered interface LoopBack 0
(2)一个接口能够配置一个主 IP 地址和多个从 IP 地址:oop
注:此功能适用于一台交换机一条链路上来但存在多个网关的状况,子接口只能用于 802.1q封装
[Huawei-GigabitEthernet0/0/1]ip add 172.16.1.1 24 [Huawei-GigabitEthernet0/0/1]ip add 172.16.2.1 24 sub [Huawei-GigabitEthernet0/0/1]ip add 172.16.3.1 24 sub
网络三层架构为核心层
、分布层(汇聚层)
、接入层
。
载波侦听多路访问/冲突检测技术:共享式网络(HUB)中存在冲突域,全部的主机共享一根总线型链路(例如接 Hub 集线器),当同一时刻两台或两台以上的主机同时发送数据会产生数据冲突,解决数据冲突的技术为 CSMA/CD(Carrier Sense Multiple Access/CollisionDetection)。
注:CSMA/CD 的工做原理可简单总结为:先听后发、边发边听、冲突停发、随机延迟后重发。
9. Wireshark:
(1)过滤源 ip、目的 ip。在 wireshark 的过滤规则框 Filter 中输入过滤条件。如查找目的地址为 192.168.101.8 的包,
ip.dst==192.168.101.8
;查找源地址为ip.src==1.1.1.1
;
(2)端口过滤。如过滤 80 端口,在 Filter 中输入,tcp.port==80
,这条规则是把源端口和目的端口为 80 的都过滤出来。使用 tcp.dstport==80
只过滤目的端口为 80 的,tcp.srcport==80
只过滤源端口为 80 的包;
(3)协议过滤比较简单,直接在 Filter 框中直接输入协议名便可,如过滤 HTTP 的协议;
100Base-FX是在光纤上实现的100 Mbps以太网标准,其中F指示光纤,IEEE标准为802.3u。快速以太网目前制定的三种有关传输介质的标准之一,另外两种是 100BASE-T四、100BASE-TX。
相似这样的在百度百科上均可以查到。BASE 是基带宽度。-fx 是线缆类型,f 是光纤,T 是双绞线。也就是说,-后面这些都是线缆类型。
具体,100Base-TX 和 100Base-T 是从属关系。
100Base-T 简称快速以太网技术,其协议标准是 IEEE 802.3u,其中的 T 表明双绞线、光纤
传输介质。
100Base-T 定义了 3 种不一样的物理层协议,分别是:100Base-TX、100Base-T4 和 100Base-FX。
其中,标识符分三段,
其中,“TX”和“FX”均为 ANSI 制定的物理介质标准,统称为“100Base-X”。
COMBO 口么也是千兆口,可是须要配模块,能够用光模块,也能够用电口。
光口就是能够接光纤,电口就是跟 GE 同样了,因此叫 COMBO 口。
为了下降网络设计的复杂度,将协议进行了分层设计。
互联网模型大致上分为:
开放式系统互联参考模型,国际标准化组织 ISO 于 1948 年提出了 OSI 模型。
① 七层→应用层:OSI 参考模型中最靠近用户的一层,为应用层序提供网络服务;
② 六层→表示层:提供各类用于应用层数据的变法和转换功能,确保仪的系统的应用层发送的数据可以被另外一个系统的应用层识别。(数据表示、加密,图片、文档、文字);
③ 五层→会话层:负责创建、管理和终止表示层实体之间的通讯回话,该层的通讯有不一样设备中的应用程序之间的服务和请求相应。(通讯设备可能存在多个会话);
④ 四层→传输层:提供面向链接(TCP)或非面向链接(UDP)的数据传递以及进行重传前的差错检测;
⑤ 三层→网络层:提供逻辑地址,供路由器肯定路径;
⑥ 二层→数据链路层:将比特组合成字节,再将字节组合成针,使用链路层地址(以太网使用 MAC 地址)来访问介质,并进行差错检测。
⑦ 一层→物理层:在设备之间传输比特流,规定了电平、速度、和电缆针脚;
TCP/IP 时 20 世纪 70 年代中期美国国防部为 APPANET 开发的网络体系协议,全部协议基于此类标准进行开发,此协议为全部厂商制定网络设备提供了一套完整的系统标准。
注:也有人将 TCP/IP 分为 5 层模型。
传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是:
① TCP 报文:
Transmission Control Protocol,传输控制协议,TCP 是一种面向链接的传输层协议,提供可靠地传输服务。
注:由于存在 Options 选项,因此 TCP 头长度不固定,最小为 20 字节,最大为 60 字节
② TCP 三次握手 :
a) 主机 A 想要访问服务器 A,发送 SYN 数据报文:
b) 服务器 A 收到主机发送的 SYN 报文后,回复 ACK 确认报文:
c) 主机 A 收到回复后,发送 ACK 报文确认
③ TCP 四次挥 手:
a) 主机 A 传输完数据,想要断开与服务器 A 的链接,会发送一个 FIN、ACK 报文:
注:此处的 ACK 置位表示前期实际的数据已经接收到
b) 服务器 A 收到主机 A 发送的 FIN 数据包,回复 ACK 报文:
c) 若是服务器 A 也传输完数据,会发送一个 FIN、ACK 报文:
d) 主机 A 收到服务器 A 的 FIN 数据包,发送 ACK 确认报文,seq 为 a+1,ack 为 b+1,(表示已收到服务器 A 的 FIN 序列号为 b 的数据包)
注 1 :为何创建链接协议是三次握手,而关闭链接倒是四次握手呢?
这是由于服务端的 LISTEN 状态下的 SOCKET 当收到 SYN 报文的建连请求后,它能够把 ACK 和 SYN(ACK 起应答做用,而 SYN 起同步做用)放在一个报文里来发送。但关闭链接时,当收到对方的 FIN 报文通知时,它仅仅表示对方没有数据发送给你了;但未必你全部的数据都所有发送给对方了,因此你能够未必会立刻会关闭 SOCKET,也即你可能还须要发送一些数据给对方以后,再发送 FIN 报文给对方来表示你赞成如今能够关闭链接了,因此 TCP 传输是一种全双工的模式,两端的传输都是相互分开的,TCP 断开也是相互独立的,它这里的 ACK 报文和 FIN 报文多数状况下都是分开发送的。
注 2 :为何 TIME_WAIT 状态还须要等 2MSL 后才能返回到 CLOSED 状态?
这是由于虽然双方都赞成关闭链接了,并且握手的 4 个报文也都协调和发送完毕,按理能够直接回到 CLOSED 状态(就比如从 SYN_SEND 状态到 ESTABLISH 状态那样);可是由于咱们必需要假想网络是不可靠的,你没法保证你最后发送的 ACK 报文会必定被对方收到,所以对方处于 LAST_ACK 状态下的 SOCKET 可能会由于超时未收到 ACK 报文,而重发 FIN 报文,因此这个 TIME_WAIT 状态的做用就是用来重发可能丢失的 ACK 报文。
④ TCP 可靠传输:
TCP 在传输过程当中使用序列号和确认号进行包的确认
a) 发送端首次发送数据包,Seq 序列号为一个生成数值,ACK 为 1(首次发送)
b) 接收端接收到数据包,并但愿获得下一个数据包(Seq+1),此时数据包中的的 Seq 为 1用于确认收到发送端 ACK 为 1 的数据包,并将本端发送包的中 ACK 置为 Seq+1,表示期待接收到下个数据包的序列号
c) 发送端收到接收端的 TCP 确认包好,查看包中的 ACK 为 11,表示下个包的序列号,此时发送下一个包,并将 ACK 变为 2,表示第二次发送。
⑤滑动窗口机制:
滑动窗口,在 TCP 创建以后传输数据时,用于管理数据流控的标识符。接收端在接收数据时会创建一个缓存区,并将缓冲区的大小标识符值放于 TCP 头部的 Window 中,表示接收端目前缓存区能够接收的最大数据位多少。滑动窗口的做用用于接收端告诉发送端本身能够一次性接收的数据大小为多少。
a) 主机 A 想服务器发起链接,传输数据给服务器 A
b) 服务器 A 回复 ACK 信息,同时携带窗口大小为 3
c) 主机 A 收到 ACK 确认信息后,发现窗口大小为 3,因而连续发送窗口大小为 3 的容量的数据包给服务器 A
d) 服务器 A 收到数据包后,内存满,此时读取一个数据包,内存剩余为 1,此时发送 ACK确认,窗口大小为 1
e) 主机 A 收到后,发送窗口大小为 1 的数据包给服务器 A
User Datagram Protocol,用户数据包协议,UDP 是一种面向无链接的传输层协议,传输可靠性没有保证。当应用程序对传输可靠性不高时,可是对传输速度和延迟要求较高时,可使用 UDP 协议来替代 TCP 协议在传输层控制数据的转发。
UDP 头部仅占 8Byte,传输数据时没有确认机制。UDP 适合于实时数据传输,如语音和视频通讯。相比于 TCP,UDP 的传输效率更高、开销更小、可是没法保障数据传输的可靠性,保证数据的完整性是依靠应用层的服务对数据提供保证的。
主机使用端口号表示不一样的网络服务。其中:0-1023 为知名端口号;1024-65535 为动态端口号
常见协议端口号: |
名称 | 端口号 |
---|---|---|
FTP | TCP20(传输端口)/TCP21(控制端口) | |
HTTP | TCP80 | |
Telnet | TCP23 | |
SSH | TCP22 | |
HTTPS | TCP443 | |
BGP | TCP179 | |
PPTP | TCP1723 | |
TFTP | UDP69 | |
RIP | UDP520 |
① Version :4bit,表示 IP 协议版本号。目前的版本号是 4,即 IPv4。版本号规定了数据报的格式。版本不一样,其数据报格式也有所不一样,如 IPv6 的报文结构就和 IPv4 的结构不一样。
② IHL : 4bit,报文头长度 HLEN,表示报文头长度(行数)。报文每行长度为固定 4Byte,因此报文头长度以 4 Byte 为单位计算。除 IP 选项(IP Options)和填充(Padding)字段能够不存在外,其余各字段必须存在。这些必须存在的字段是 5 个 4 Byte,共 20 Byte 长。所以,报文头长度值通常是 5 。又因为报文头长度必须是 32bit的整数倍,因此当一个含有 IP 选项字段的 IP 数据报不是 32bit 的整数倍时,由填充字段用 0 补足,因为存在 Option 选项,因此 IHL 不固定,为 20 到 60 字节
③ TOS :8bit,Type of Service,服务类型,指示对本数据报的处理方式。它主要用来指示数据报的优先权及传输类型。QoS 技术就是使用此字段对数据进行标记优先级的。
④ Total Length :16bit,数据包总长度,以 Byte 为单位表示整个 IP 数据报长度,包括报文头及其携带的数据,能够表示最大值为 65535,因此三层 MTU 最大为65535
⑤ Identifier :16bit,标识字段,是发送者赋予数据报的标识符,接收者利用这个信息和源地址判断收到的分组属于哪一个数据报,以便进行重组。所以,在分片时,该域必须不加修改地复制到各分片的报文头中。
⑥ Flags :3bit,标志位,只有低两位有效。第一 bit 为 0 时表示该分片是最后一片,若是该位是 1 表示后面还有分片。第二 bit 为 0 时表示能够对数据报进行分片,若是该位是 1 表示数据报不能分片。当该位设置为 1 而帧长度不匹配又必须分片时,设备就会将数据报丢弃并返回错误信息。
⑦ Fragment Offset: :片偏移,指示本分片数据在初始数据报数据区中的偏移量,偏移量以8 Byte 为单位,重组时分片顺序由片偏移提供。
⑧ Time To Live :生存时间,简称 TTL,8bit,用来控制数据报在网络中存在的时间。目前TTL 的值并不表明时间,而是表明经由路由器的个数。数据报每通过一台路由器时,路由器将 TTL 值减 1,一旦 TTL=0,系统就丢弃该数据报,并返回错误信息。这样避免了路由出现环路时数据报在路由器之间无休止地循环。
⑨ Protocol :8bit,协议,表示该数据报携带的数据是由哪一个上层协议封装的,也就是指示传输层的协议类型。如最多见的协议类型是 TCP 或 UDP。
⑩ Header Checksum :16bit,头校验和,用于保证 IP 头数据的完整性。
⑪ Address: :分为源 IP 地址和目的 IP 地址,各占 32bit,代表数据的来源及其到达的 76EE的地。
⑫ Padding: :当 IP 报文头长度不是 32bit 的整数倍时,填充 0 来凑齐 32bit 整数倍,没有实际意义。
⑬ Data: :来自第 4 层的数据段。
注:标识(Identification)、标志(Flags)、片偏移(Fragment Offset)这 3 个字段与 IP 报文的传输有关。IP 数据报是网络层的数据单元,它须要被封装在第二层的数据帧中来传输。互联网是由各类二层规范不一样的网络互联起来的产物,这些不一样的网络的帧格式及帧长度各不相同。例如,以太网的帧和令牌环的帧在结构和长度上都不相同。IP 数据报在某个二层网络中可以被彻底封装,到另外一个二层网络中就未必能够。所以,IP 数据报有可能被分割,称为"分片(Fragmenting)",当数据到达目的地时还要对分片进行重组。上述 3 个字段正是用于对分片和重组进行控制的。
10.0.0.0/8
172.16.0.0/16-172.31.255.255/16
192.168.0.0/16-192.168.255.255/24
其中:127.0.0.0-127.255.255.255.255
为回环地址。
一般要传输的IP报文的大小超过最大传输单位MTU(Maximum Transmission Unit)时就会产生 IP 分片状况。IP 分片一般发生在网络环境中。好比说,在以太网(Ethernet)环境中可传输最大 IP 报文大小(MTU)为 1500 字节。而传输的报文大小要比 1500 字节(不包括以太协议的首部和尾部 18 个字节)大,这个时候就须要利用到分片技术,经分片后才能传输此报文。另外,使用 UDP 很容易致使 IP 分片,而很难强迫 TCP 发送一个须要进行分片的报文。并在 IP 数据包中采用 identification 标号、flags 置位符、Fragment Offset 偏移量 用来标识此分片数据包。
网络层外面还会加上数据链路层的封装,通过数据链路层封装以后,才是一个数据包最终的大小。要注意,MTU 只是限制了一个数据包通过网络层的封装后,不要超过 1500 字节,一个数据包最终是多少,是不能一律而论的,不一样的数据链路层会在“网络层 1500 字节”的基础上加上不一样的头部,好比:以太网会在网络层的基础上加上 14 字节头部和 4 字节的FCS 尾部,因此,一个以太网数据帧最终的大小是 1518 字节,当数据链路层为 HDLC 时,它会在网络层前面加上 4 字节的 HDLC 的头部和 4 字节的 FCS 校验,因此,一个 HDLC 链路的数据包是 1508 字节,当数据链路层为 PPP 时,它会在网络层前面加上 4 字节的 PPP 的头部和 4 字节的 FCS 校验,因此,一个 PPP 链路的数据包是 1508 字节。
须要注意的是,MTU 只会影响到数据发出方向,对收入的数据,是没有 MTU 限制的,可是,咱们建议将链路两端的 MTU 设置为同样大小的,由于网络通信都是有来有回的,一个大与接口 MTU 的数据收进来,若是又要从这个接口返回去,则入向收到的是一个完整的包,而出向会对这个数据分片,虽然不会影响通讯,但这种双向数据结构不匹配的通信模型并非很合理。
注:三层中的 Total Length 为 16bit,因此最大能够表示 65535 字节,因此三层的最大数为655535 字节,二层最大表示的数为 1518,因此实际数据包的大小为 1518
① identification 标号:16bit,ID 域对于每一个分片都是一致的,这样才能在从新组装的时候识别出来自同一个 IP 报文的分片。在 IP 头里面,16 位识别号惟一记录了一个 IP 包的 ID(ipid),具备同一个 ID 的 IP 分片将会从新组装。
② flags 置位符:3bit,标志着该分片后面是否还有新的分片。
③ Fragment Offset 偏移量:13bit,记录了某 IP 片相对整个包的位置。
①三层 最大 包 长:
三层网络 IPv4 报文实际可表示长度为 655535 字节,而最大长度为 1500Byte(称为 MTU)
②三层最小包长:
最小包长为 46Byte,不够使用垫片填充。
注: :存在最小数据包大小的缘由为若是 A 主机发送的数据帧很小,很快完成数据帧的发送,二两台冲突主机相距很远,再主机 A 发送的数据帧传输到 B 的前一刻,B 开始发送数据帧,这样,当 A 的数据帧到达 B 时,B 检测到冲突,因而发送冲突信号。假如 B 的冲突信号传输到 A 以前,A 的数据帧已经发送完毕,那么 A 将检测不到冲突而误认为已发送成功,所以必须有最小包长的限制。当一个包不足 64Byte(数据封装到二层时)时,将使用 bit 填充数据部分到 64Byte。
网络层数据包的包格式里面有个很重要的字段叫作协议号,协议号是存在于 IP 数据报的首部的 20 字节的固定部分,占有 8bit.该字段是指出此数据报所携带的是数据是使用何种协议,以便目的主机的 IP 层知道将数据部分上交给哪一个处理过程。也就是协议字段告诉 IP 层应当如何交付数据。
协议号用于表示三层网络层上层为什么种网络协议。
常见协议号: |
协议名称 | 协议号 |
---|---|---|
ICMP | 1 | |
IGMP | 2 | |
TCP | 6 | |
EGP | 8 | |
IGP | 9 | |
UDP | 17 | |
IPv6 | 41 | |
GRE | 47 | |
NARP | 54 | |
OSPF | 89 | |
VRRP | 112 | |
L2TP | 115 |
数据帧封装分为两种帧格式封装,一种为Ethernet_II定义格式;一种为IEEE802.3定义格式。
注:如何区分数据包使用哪一种格式:
① 当数据包的长度大于或等于 1536Byte 时为 Ethernet_II 协议封装。
② 当数据报的长度小于或等于 1500Byte 时为 IEEE802.3 协议封装。
注:IEEE802.3 帧长度值小于等于 1500
IEEE802.3 数据帧抓包:
在 Ethernet_II 封装数据帧中:
46Byte 的数据单元+2Byte 的 Type+6Byte 的 D_MAC+6Byte 的 S_MAC+4Byte 的 FCS 校验位
Type类型 | Type标识 |
---|---|
IPv4 | 0x0800 |
IPv6 | 0x86DD |
ARP | 0x0806 |
MPLS | 0x8847 |
802.1Q | 0x8100 |