资讯详情

资讯详情

学习干货|一篇文章学习计算机网络技术基础那点事

本篇文章共6000字1视频完全阅读全篇约60分钟州弟学安全只学有用的知识0x01 前言本篇问针对于计算机网络专业期末考试、计算机网络爱好者、网工小白进行共同学习复现的环境从原始的直连环境到BGP之间的过程然后为IP划分最后了解一下我们常见的协议以下思维导图为本次文章和视频的知识点视频全长约48分钟如认为视频较长可根据文章进行学习复现文章和视频内如有问题烦请指出# 本地实验工具 Ubuntu操作系统 H3C模拟器 wireshark流量分析工具以下为在互联网收集的网工面试题、本次实验环境下载地址https://pan.quark.cn/s/ba75afc25d54* 如您认为本篇文章帮到了您麻烦一键三连支持一下* 本篇文章仅代表个人看法仅供参考0x02 知识学习视频学习(48分钟)视频中在IP划分题目中有小瑕疵已改正一条视频学会计算机网络技术基础那点事计算机网络技术基础直连在传统的网络中我们将一台设备与另一台设备用双绞线的方式直接连接被称为直连想要这两台设备以人为的方式通信他们还需要有一个地址我们称之为IP地址在我们进行布线做线时一般还需要根据T568A和T568B的线序进行做线理论上来讲这样可以减少干扰和串扰交换机当多台设备需要连接时我们也可以互相连接但是这样成本高排错也麻烦所以我们此时用到了集线器将几台设备连接聚合到一块集线器属于老式设备缺点明显当多台机器发送信息时集线器会将消息发送给所有设备这样会造成干扰和不必要的成本所以我们有称集线器为傻HUB此时我们用到了交换机设备接入到交换机有一个前提你的设备需要有MAC地址我会记录你的MAC地址到MAC地址表MAC地址是唯一的可以理解为设备的UID此时交换机内还没有其它设备的MAC地址当设备进行首次通信时交换机会记录设备的MAC地址携带这个MAC地址去访问目标地址MAC而此时交换机也不知道对方MAC哪台设备所以交换机会首先发给所有设备这个叫泛洪在进行了首次请求之后交换机获取到了两个设备的MAC地址记录到了MAC地址表其它设备设备发现自己MAC地址不匹配则进行丢包等下次在进行请求时交换机直接从地址表内获取到MAC地址不再进行泛洪IP地址的含义MAC地址是跟随网卡出厂进行配置的假如当我们的设备损坏需要更换网卡则需要重新记录MAC地址这样效率较低所以此时IP地址诞生了当PC_3发送请求PC_5时PC_3也不知道PC_5的MAC地址只知道IP地址相当于机房或互联网我们只知道对方的IP然后PC_3发送请求命令相关数据包(自己MAC和IP地址)会发给交换机交换机看到IP地址所对应的MAC地址为NULL则会发起泛洪其它设备发现IP地址和自己对不上则丢包最后PC_5发现请求的是自己的地址则将自己的MAC和IP及响应返回给交换机交换机在此期间将PC_3和PC_5的MAC地址和IP地址对应绑定下次二者再次请求时则不在泛洪此时查看交换机记录地址表已经将所有的MAC地址对应接口进行记录这个过程叫做ARPMAC地址和IP地址绑定记录的表叫做ARP表其次还有一个基础面试题调研过很多人回答出来的很少包括我自己一开始也没回答上来问在两台新设备上网时为什么新设备进行ping时第一个包总是丢包二进制在学习计算机网络或计算机其它知识之前我们需要首先了解到二进制我们在执行程序或代码时计算机所看到的并不是我们写的代码而是一堆的0和1由0和1组成的基数即为二进制如上图所示上面8个1在计算机表示为255为什么呢首先我们通常将二进制称为一二四八码0就是0或false1就是1或true上方从右往左开始1为初始值往左依次以2倍形式相乘直到最后为128然后将其加一块即为255没错有很多同学很眼熟的子网掩码的255.255.255.0就是24个1和8个0组成其次就是我们所用到的手机硬盘内存等都是以8G、16G、32G、64G、128G、256G、521G、1024G(1T)等进行表示就是这个原理IP分类与子网划分IP地址IP地址由4个字节、32位组成的逻辑地址将32位分成4组每组8个二进制以上意为248.179.203.134网络号与主机号/IP分类无论是学习网络还是安全人员有时候对网络划分特别的容易被绕很难啃网络号代表着主机的范围主机号代表着某一台主机的地址网络号范围越小容纳主机越多A类子网地址A类子网地址默认子网掩码是255.0.0.0由于是二进制计算所以在快捷填写掩码的时候以8进行表达网络ID是0开头(二进制)在A类地址中127为保留地址意为本地地址127.0.0.1为本地回环地址在A类地址中第一位取值范围1-126其余都是0-255所以可容纳主机数量256x256x256-2(网络地址和广播地址)要求开头必须是0所以范围是1-127B类子网地址B类子网地址默认子网掩码是255.255.0.0由于是二进制计算所以在快捷填写掩码的时候以16进行表达网络ID是10开头(二进制)在B类地址中169.254.0.0到169.254.255.255为保留地址在DHCP不可用是会自动分配此地址172.16.0.0-172.31.255.255为私网地址不会在公网中进行路由在B类地址中第一位取值范围128-191其余都是0-255所以可容纳主机数量256x256-2(网络地址和广播地址)要求开头必须是10所以范围是128-191C类子网地址C类子网地址默认子网掩码是255.255.255.0由于是二进制计算所以在快捷填写掩码的时候以24进行表达网络ID是110开头(二进制)在C类地址中192.168.0.0到192.168.255.255为保留地址在私有网络中进行使用不会在公网中进行路由在C类地址中第一位取值范围192-223其余都是0-255所以可容纳主机数量256-2(网络地址和广播地址)要求开头必须是110所以范围是192-224D类子网地址D类地址以1110开头用于多播没有子网掩码第一部分取值224-239其余部分0-255怎么求网络地址例如IP地址为192.168.1.10子网掩码为255.255.255.0。192.168.1.10的二进制形式为11000000.10101000.00000001.00001010255.255.255.0的二进制形式为11111111.11111111.11111111.00000000网络地址是通过将IP地址的二进制形式与子网掩码的二进制形式进行逻辑与AND运算得到的。11000000.10101000.00000001.00001010IP地址11111111.11111111.11111111.00000000子网掩码11000000.10101000.00000001.00000000逻辑与运算结果11000000.10101000.00000001.00000000将结果转换回十进制形式192.168.1.0所以网络地址是192.168.1.0。怎么求广播地址广播地址是通过将网络地址的二进制形式与子网掩码的反码即子网掩码的二进制形式中0变为11变为0进行逻辑或OR运算得到的。255.255.255.0子网掩码11111111.11111111.11111111.00000000反转00000000.00000000.00000000.1111111111000000.10101000.00000001.00000000IP地址00000000.00000000.00000000.11111111子网掩码的反码逻辑或运算结果11000000.10101000.00000001.11111111将结果转换回十进制形式192.168.1.255所以广播地址是192.168.1.255。子网掩码当全网中有多台设备时多个大型拓扑时我们当然也可以利用交换机进行连接但是由于计算机泛洪的原因可能导致网络不稳定紊乱其次不好管理的情况所以需要将网络进行隔离将网络分为不同的段交换机只用来传输不同段的消息以此提高效率此时我们需要用到子网掩码子网划分题目题目1192.168.1.100/29255.255.255.248求网络地址、主机范围和广播地址求网络地址网络地址转二进制11000000.10101000.00000001.01100100 ​ • 子网掩码转二进制11111111.11111111.11111111.11111000 ​ • 逻辑与11000000.10101000.00000001.01100000 ​ • 二进制转十进制192.168.1.96求广播地址子网掩码转二进制11111111.11111111.11111111.11111000 ​ • 反转00000000.00000000.00000000.00000111 ​ • IP地址转二进制11000000.10101000.00000001.01100100 ​ • 逻辑或11000000.10101000.00000001.01100111 ​ • 二进制转十进制192.168.1.103主机范围192.1681.96-192.168.1.103较为简单的方法C类网络24位(192为C类网络)此处29相当于借了5位322^5每个子网可以容纳2^3-26个主机(网络地址和广播地址)2^3(主机位)256-248(给出的掩码)88的倍数最接近于100的为96网络地址192.168.1.96主机范围192.168.1.97-192.168.1.102广播地址192.168.1.103静态路由我们学会了IP地址的划分那么设备是怎么来识别出内网还是外网的IP呢当将子网掩码和IP地址的二进制进行逻辑与后计算机知道了IP的当前网段属于内网还是外网对于外网的IP计算机将发给外网的设备进行转发这个设备叫做路由器以上拓扑中所有设备都是不同网段理论是无法进行互通的所以我们需要手动进行配置静态路由​​​​[H3C]sysname R1 [R1]int g 0/1 [R1-GigabitEthernet0/1]ip add 192.168.0.1 24 [R1-GigabitEthernet0/1]int g 0/0 [R1-GigabitEthernet0/0]ip add 192.168.1.1 30 [R1-GigabitEthernet0/0]exit [R1]ip route-static 192.168.2.0 24 192.168.1.2[H3C]sysname R2 [R2]int g0/1 [R2-GigabitEthernet0/1]ip add 192.168.2.1 24 [R2-GigabitEthernet0/1]int g 0/0 [R2-GigabitEthernet0/0]ip add 192.168.1.2 30 [R2-GigabitEthernet0/0]exit [R2]ip route-static 192.168.0.0 24 192.168.1.1就这样我们在两台交换机中加了各自的路由此时我们的PC可以进行互通如我们在自己Windows系统输入route print即可获取到自己电脑的路由表当然这些都是自动路由当我们网络规模很大时由人工一个个管理路由的时候会很麻烦这个时候OSPF技术进行自动学习和管理路由协议当网络规模更大时OSPF也会逐渐疲软这个时候会使用BGP等协议当然以上这些都是和网工息息相关在使用者、客户视角中还是类似于傻瓜式直连这么简单无需操心这么多VLAN/WLAN/MAN等讲解LAN: LAN就是局域网如一个办公室一个机房使用交换机将它们连接实现互通一般称为LANWLAN: 与LAN的意思差不多但WLAN使用无线技术连接通信的局域网可以在范围内进行连接我们目前称为WIFIVLAN: VLAN相较于以上不同是使用特殊技术将不同位置的网络设备组合在一起VLAN可以让通信更加灵活和安全常用于网络规划和网络隔离等VPN: 与其它网络协议不同VPN虚拟私有网络指的是在公有网络中连接私有网络的环境VPN是通过加密和安全隧道的方式进行创建用于保护用户的隐私性和安全性举例某医院内网环境有大量的数据医生出差但可能有急事需要查数据或开处方这个时候又不能马上回去可以使用分发的个人VPN账号进行接入内网通过已分配给自己的权限进行工作这样收敛了在公网的数据安全暴露面又保护了隐私VLANVLAN指的是通过特殊的技术将不同位置的机器进行划分连接以方便通信、安全性易于管理实验环节本次使用HCL模拟器进行实验搭建VLAN环境进行通信来理解VLAN的意义实验拓扑如上设环境上述环境为某内网都在同一个段内要求PC3和PC5为财务部门PC4和PC6为运维部门机器使用vlan进行划分要求运维部和财务部不互通目前未划分的情况下是互通的首先在第一台交换机1口和2台交换机1口创建vlan将其划入vlan10中并创建trunk# SW1 sys hostname S1 vlan 10 port GigabitEthernet 1/0/1 vlan 20 port GigabitEthernet 1/0/2 int g 1/0/24 port link-type trunk port trunk permit vlan 10 20sys hostname S2 vlan 10 port GigabitEthernet 1/0/1 vlan 20 port GigabitEthernet 1/0/2 int g 1/0/24 port link-type trunk port trunk permit vlan 10 20此时将相关端口加入到相关vlan中并在两台交换机之间的网口中放行vlan10和vlan20此时满足要求PC3不通PC4但是可以通PC5也满足了PC4可通PC6但不通其它的要求TCP协议在以往我们以IP地址和端口的形式去访问是以UDP形式访问的UDP形式简单粗暴但稳定性低比如我们现在常见的DNS协议走的就是UDP有些同学会很懵什么UDP协议和DNS协议这个时候我们需要搞懂一个东西叫做OSI模型的东西不同的协议在不同的层OSI七层网络模型TCP/IP四层概念模型对应网络协议应用层Application应用层HTTP、TFTP, FTP, NFS, WAIS、SMTP表示层PresentationTelnet, Rlogin, SNMP, Gopher会话层SessionSMTP, DNS传输层Transport传输层TCP, UDP网络层Network网络层IP, ICMP, ARP, RARP, AKP, UUCP数据链路层Data Link数据链路层FDDI, Ethernet, Arpanet, PDN, SLIP, PPP物理层PhysicalIEEE 802.1A, IEEE 802.2到IEEE 802.11我们已经知道了网络是不稳定的发送消息的途中会有丢包的可能性所以设置了重试机制为了知道我们消息是否发送成功还得要让对方发送确认消息这样一来一回就确保了消息送达当我们数据较大时比如传个文件则需要采用分包机制来提高传输率为了不让每个包乱序所以在每个数据包之前加了序号标签到达时则进行按序排列没有送达的则进行重新发送因为TCP协议的稳定性所以我们在进行连接和会话时需要进行三次握手和四次挥手其次为了防止一直重试来影响稳定和浪费资源我们需设置超时机制如我浏览器访问一个没有开放的端口这时候肯定不可达则未建立连接在尝试几次后回显超时这样就不会一直进行发包我们所数值的DDOS泛洪就是这个原理对方端口开着攻击者发送请求服务器收到响应在三次握手和四次挥手中最后的时候攻击者不在给回应服务器会一直等待这样会浪费资源直至宕机所以需要设置超时机制NAT协议在当下我们的IPV4地址已资源匮乏想要一机一IP是不可能实现的所以就想到了NAT协议比如在我们的办公或内网中通常都是以10.x.x.x或172.16.x.x或192.168.x.x的IP这个就是内网IP对外进行请求时请求会交给内网网关网关根据路由表向外进行发送请求以达到我们使用外网IP的任一端口访问网络资源达到多人用一个IP的目的这里打开两个wireshark抓包一个抓我能上网的网卡另一个抓我VMware的NAT网卡进行实验VMnet8网卡为NAT网卡我们发出请求后会自动路由可以出网的网卡我这里可以出网的网卡为WLAN所以另一个wireshark线程抓取WLAN网卡我用虚拟机访问了百度然后我们筛选一下流量通过抓取百度的流量后可以看到非常完整的TCP流量首先通过DNS进行解析的域名然后进行了TCP连接然后我们本地的端口为37726目标端口为443此时本地端口是NAT网卡本机地址的端口由于wlan网卡流量太多简单筛选过滤一下后看到我们的请求通过路由WLAN网卡进行了对外请求先进行了DNS解析然后进行访问不同于刚才虚拟机建立的源端口我们WLAN网卡使用的端口为36430然后我们的请求会通过路由器交换机出口IP逐一进行对外访问这期间每个设备都会开放自己任一端口进行访问目标地址并记录源地址和目标地址回包的时候通过记录的地址和相应端口进行返回响应信息这个过程使用者是无需操心的0x03 结语希望这篇文章在帮助我复习和总结的时候也能帮助到你如您是学生希望您能考试顺利勇攀高峰如您是就业人员希望您可以步步高升每天学习一点新技术日积月累就是大牛
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →