冲突域与CSMA/CD
冲突域是一个通过共享物理介质进行双向传输的所有节点的集合,存在于半双工模式中。
CSMA/CD,载波侦听多路访问/冲突检测技术,具体工作工程如下:
先听后发,边发边听,冲突停发,随机延迟后重发。
OSI七层模型
应用层:为应用程序提供网络服务。
表示层:提供应用层数据的编码和转换功能。
会话层:负责建立、管理和终止表示层之间的通信会话。
传输层:提供面向连接或非面向连接的数据传递以及重传前的差错检测。
网络层:提供逻辑地址,供路由器确定路径。
数据链路层:控制网络层与物理层之间通信。
物理层:在设备之间传输比特流。
TCP/IP五层模型
应用层:有BGP、DHCP、BFD、SNMP、MPLSLDP等协议。
传输层:有TCP、UDP等协议
网络层:主要是IP协议,还有IPSec、GRE、VRRP、OSPF、ICMP、PIM、IGMP等协议。
MPLS层:有MPLS、ARP、LACP、STP/RSTP/MSTP、IS-IS等协议。
链路层:有VLAN、PPPoE、PPP、HDLC等协议
数据帧格式
Ethernet_II帧:包含type字段,字段值大于等于(0x)
IEEE.3帧:包含Length字段,字段值小于等于(0x05DC)
IP地址与MAC地址
A类:0.0.0.0-...,网络位8位,0开头
B类:.0.0.0-...,网络位16位,10开头
C类:.0.0.0-...,网络位24位,开头
D类:.0.0.0-...,组播地址,1开头
E类:.0.0.0-...,保留地址,开头
私有地址
10.0.0.0-10...
.16.0.0-.31..
..0.0-...
特殊地址
.0.0.0-...
0.0.0.0
...
变长子网掩码VLSM,无类域间路由CIDR。
MAC地址48位,用十六进制表示。
前24位是供应商代码,后24位厂商自己分配。
单播,第8位是0;组播,第8位是1;广播,全是FF。
ICMP协议
InternetControlMessageProtocol,Internet控制消息协议
ICMP包含ICMP重定向、ICMP差错检测、ICMP错误报告消息。
ICMP消息类型和编码类型:
类型0,编码0,代表EchoReply消息
类型3,编码0,代表网络不可达
类型3,编码1,代表主机不可达
类型3,编码2,代表协议不可达
类型3,编码3,代表端口不可达
类型5,编码0,代表重定向消息
类型8,编码0,代表EchoRequest消息
ARP协议
AddressResolutionProtocol协议,通过目的IP地址获取MAC地址。
ARP缓存(ARPCache),用来存放IP地址和MAC地址的关联信息。
ARP请求(ARPRequest),Ethernet_II帧目的MAC为全F,ARP报文目的MAC为全0。
ARP响应(ARPReply),通过单播发送。
ARP代理,同一网段,不同物理网络上的计算机之间,可以通过ARP代理实现相互通信。
免费ARP,Ethernet帧目的MAC全F,ARP报文目的MAC全0,用来探测IP地址是否冲突。
TCP与UDP协议
TCP(TransmissionControlProtocol),传输控制协议。
TCP是一种面向连接的传输层协议,提供可靠的传输服务。
TCP端口号,FTP是20,21端口,HTTP是80端口,Telenet是23端口,SMTP是25端口。
TCP可靠性体现在以下几个方面:
TCP通过三次握手建立可靠连接,三次握手的数据段分别为SYN,SYN+ACK,ACK。
TCP具有重传机制,设备收到数据段时,会向源端发送确认报文。源端根据确认报文决定下次发送的数据段。
TCP通过滑动窗口技术动态改变窗口大小,来实现数据传输的流量控制。
TCP关闭连接时,要经过四次挥手。数据段分别是FIN+ACK,ACK(两个设备各发送一次)
UDP(UserDatagramProtocol),用户数据包协议。
UDP是一种面向无连接的传输层协议,传输可靠性没有保证。
UDP由应用程序来提供报文确认、排序、流量控制等功能。
UDP不提供重传机制,占用资源小,处理效率高,通常用于一些时延敏感的流量,如语音。
数据封装与转发过程
数据封装过程
1.主机对应用数据执行加密和压缩等相关操作后,进行传输层封装,封装成数据段。
2.传输层封装比如封装TCP头部,会填充源、目的端口号等信息,随后交给网络层。
3.网络层封装IP头部,成为数据包。封装内容包括源、目的IP、上层协议号等等,随后交给数据链路层。
4.数据链路层封装帧头和帧尾,成为数据帧,交给物理层进行传输。
数据转发过程
1.当设备发出数据且下一跳设备收到数据后,进行FCS校验,通过后检查目的MAC地址,然后剥掉帧头帧尾,交给网络层。
2.网络层会先检查IP头部信息的校验和字段,然后根据目的IP查找路由表,同时对TTL值进和报文大小进行处理,处理完成后,交给数据链路层重新封装,然后继续转发。
数据解封装过程
1.设备收到收据帧后,会对数据帧进行FCS和目的MAC检查,如果通过,剥掉帧头帧尾,根据Type字段交给网络层。
2.网络层进行数据包解封装,检查校验和和目的IP地址,如果通过,剥掉头部,交给传输层。
3.传输层进行数据段解封装,检查校验和和端口号,如果通过,剥掉头部,发往上层协议。
NAT技术
NetworkAddressTranslation,网络地址转换。
静态NAT,一个公网IP只会分配给唯一的内网主机。
动态NAT,基于地址池来实现私有地址和公有地址的转换。
NAPT,多个内部地址映射到同一个公有地址的不同端口。
EasyIP,多个内部地址映射到网关出接口地址上的不同端口。
NATServer,使外网用户访问内网服务器,将外网地址转换成内网地址。