网络是怎样连接的-小笔记

3 从网线到网络设备

3.1 信号在网线和集线器中传输

每个包都是独立传输的
防止网线中的信号衰减很重要:信号在网线的传输过程中,能量会逐渐损失,网线越长,信号衰减越严重;
“双绞”是为了抑制噪声:两根信号线为一组缠绕在一起,这种拧麻花一样的设计是为了抑制噪声的影响;
集线器将信号发送给所有连接在它上面的线路。

3.2 交换机的包转发操作

交换机通过地址表进行转发:交换机端口的MAC模块不具有MAC地址,交换机根据MAC地址表查找MAC地址,然后将信号发送到相应的端口;
MAC地址表的维护:分两种,第一种是收到包时,将发送方MAC地址以及输入端口的号码写入MAC地址表中;第二种是删除地址表中某条记录的操作,这是为了防止设备移动时产生问题;综合来看,就是为了防止终端设备移动产生问题,只需要将一段时间不使用的过时记录从地址表中删除就可以了;
特殊操作:当交换机发现一个包要回到原端口时,就会直接丢弃这个包;地址表中找不到指定的MAC地址,这可能是因为具有该地址的设备还没有向交换机发送过包,或者这个设备一段时间没有工作导致地址被地址表中删除了;
全双工模式可以同时进行发送和接收:全双工模式交换机特有的工作模式,它可以同时进行发送和接收操作,集线器不具备这样的特性;只要不适用集线器,就可以避免信号碰撞了;交换机的全双工模式可以同时发送和接收;
自动协商:确定最优的传输速率:自动切换工作模式,由相互连接的双方探测对方是否支持全双工模式,并自动切换成相应的工作模式;此外,除了能自动切换工作模式之外,还能探测对方的探测传输速率并进行自动切换;
交换机可同时执行多个转发操作:交换机只将包转发到具有特定MAC地址的设备连接的端口,其他端口都是空闲的;相对的,集线器会将输入的信号广播道所有的端口,如果同时输入多个信号就会发生碰撞,无法同时传输信号,因此从设备整体的转发能力来看,交换机要高于集线器;

3.3 路由器的包转发操作

3.3.1 路由器的基本知识
路由器是基于ip设计的,交换机是基于以太网设计的,路由器的各个端口都具有MAC地址和IP地址;

3.3.2 路由表中的信息:
交换机通过MAC头部中的接收方MAC地址来判断转发目标的,而路由器则是根据IP头部中的IP地址判断的;

路由器会忽略主机号,只匹配网络号;

目标地址记录的是接收方的信息,实际上这里的IP地址只包含表示子网的网络号部分的比特值,而表示主机号部分的比特值全部为“0”,路由器会将接收到的网络包的接收方IP地址与路由器中的目标地址进行比较,并找到相应的记录。交换机在地址表中只匹配完全一致的记录,而路由器则会忽略主机号部分,只匹配网络号部分。

思考?
目标地址列中的IP地址表示的是子网,但也有一些例外,有时地址本身的子网掩码和路由表中的子网掩码是不一致的,这是路由聚合的结果。经过路由聚合,多个子网会被合并成一个子网,子网掩码会发生变化,同时,目标地址列也会改成聚合后的地址;
路由表的子网掩码只表示在匹配网络包目标时需要对比的比特数量;

对路由表的维护的方法有多种,大体上可分为以下两类:
1.由人手动维护路由记录;
2.根据路由协议机制,通过路由器之间的信息交换由路由器自行维护路由表的记录;
其中2提到的路由协议由很多种,例如RIP\OSPC\BGP等都属于路由协议;
RIP路由协议:早期第一代路由协议,是基于距离矢量算法来计算达到目的网络的最佳路径路由协议。通过UDP报文进行信息的交换,使用的端口号为520,RIP是基于跳数(最多15跳)来衡量到达目的地址的距离,成为度量值,版本协议有v1/v2/ng版。

https://zhuanlan.zhihu.com/p/513109424

3.3.3 路由器的包接收操作
首先,信号到达网线接口部分,其中的PHY(MAU)模块和MAC模块将信号转换为数字信号,然后包末尾的FCS进行错误校验,如果没问题则检查MAC头部中的接收方MAC地址,看看是不是发给自己的包,如果是就放到接收缓冲区中,否则就丢弃这个包。
路由器的端口都具有MAC地址,只接收与自身地址匹配的包,遇到不匹配的包则直接丢弃。
3.3.4 查询路由表确定输出端口
完成包接收操作,路由器就会丢弃包开头的MAC地址。
通过路由器转发的网络包,其接收方MAC地址为路由器端口的MAC地址。
接下来,路由器会根据MAC头部后方的IP头部中的内容进行包的转发操作。
3.3.5 找不到匹配路由时选择默认路由
路由表中子网掩码为0.0.0.0的记录表示默认路由;
3.3.6 包的有效期
更新IP头部的 TTL(Time To Live,生存字段),TTL字段表示包的有效期,包每经过一个路由器的转发,这个值就会减1,当这个值变成0时,就表示了超过了有效期,这个包就会被丢弃。
这个机制是为了防止包在一个地方陷入死循环。发送方在发送包时会将TTL设为64或128。
3.3.7 通过分片功能拆分大网络包
一旦转发的包长度超过输出端口能传输的最大长度,就无法直接发送这个包了;
遇到这种情况,可以使用IP协议中定义的分片功能对包进行拆分,缩短每个包的长度;但是这里说的分片与TCP对数据进行拆分的机制是不一样的,TCP拆分数据操作是在将数据装到包里之前进行的,换句话说,拆分好的一个数据块正好装进一个包里。从IP分片的角度来看,这样一个包其实是一个未拆分的整体,也就是说,分片是对一个完整的包再进行拆分的过程;
(注意:尽管TCP头部不是用户数据,但从IP协议的角度来看他也是数据的一部分)
如果查询标志字段发现不能分片,那么就只能丢弃这个包,并通过ICMP消息通知对方;
3.3.8 路由器的发送操作和计算机相同
发送前的准备工作完成了,接下来就是包的发送操作;
为了判断MA头部中的MAC地址应该填写什么地址,我们需要根据路由表的 网关判断对方的地址 ;
路由器判断下一个转发目标的方法如下:

  • 如果路由表的网关列为IP地址,则该地址 就是下一个转发目标;
  • 如果路由表的网关列内容为空,则IP头部中的接收方地址就是下一个转发目标;

路由器也会也会使用ARP来查询下一个转发目标的MAC地址;
接下来是发送方MAC地址,这里填写输出端口的MAC地址,还有一个以太网类型,填写0080(十六进制);

3.3.9 路由器与交换机的关系
给包加上MAC头部并发送,从本质上说是将IP包装进以太网的数据部分中,委托以太网去传输数据;IP协议本身没有传输包的作用,因此包的实际传输要委托以太网来进行。路由器是基于IP设计的,而交换机是基于以太网设计的;因此IP与以太网的关系也就是路由器与交换机的关系;换句话说,路由器将包的传输工作委托给交换机来进行。
IP并不是委托以太网将包传输到最终目的地,而是传输到下一个路由器;在创建MAC头部时,也是从IP的路由表中查找出下一个路由器的IP地址,并通过ARP查询出MAC地址,然后将MAC地址写入MAC头部中的,这表示IP对以太网的委托只是将包传输到下一个路由器就行了;当包到达下一个路由器后,下一个路由器又会重新委托以太网将包传输到再下一个路由器。随着这一过程反复执行,包就会最终到达IP的目的地,也就是通信的对象。

IP(路由器)负责将包送达通信对象这一整体过程,而其中将包传输到下一个路由器的过程则是由以太网(交换机)来负责的;

3.4 路由器的附加功能

3.4.1 通过地址转换有效利用IP地址
地址转换:
通过固定地址的分配方式解决固定地址被用光的情况,例如,A和B公司,两公司内网完全独立,A与B公司的内网之间不会有网络包流动,因此,公司A与公司B的客户端有相同的IP地址也没关系,因为他们之间不会进行通信。
通过设定一定的规则,规定某些地址是用于内网的,这些地址叫做私有地址,而原来的固定地址叫做公有地址;
私有地址范围:

  • 10.0.0.0~10.255.255.255
  • 172.16.0.0~172.31.255.255
  • 192.168.0.0~192.168.255.255

但公司内网并不是完全独立的,而是需要通过互联网和其他很多公司相连接,所以当内网和互联网之间需要连接的时候,问题就出现了。
这个时候将公司内网分为两个部分,一部分是对互联网开放的服务器,另一部分是公司内部设备;其中对互联网开放的部分分配公有地址,可以和互联网直接进行通信;相对地,内网部分则分配私有地址,内网中的设备不能和互联网直接收发网络包,而是通过一种特别的机制进行连接,这个机制叫做地址转换;
3.4.2 地址转换的基本原理
地址转换的基本原理是在转发网络包时对IP头部中的IP地址和端口号进行改写。(这里的端口号是TCP和UDP的端口号)
首先,TCP连接操作的第一个包被转发到互联网时,将发送方IP地址从私有地址改写成公有地址,这里的公有地址是地址转换设备的互联网接入端口的地址。与此同时,端口号也需要进行改写,地址转换设备会随机选择一个空闲的端口,然后,改写前的私有地址和端口号,以及改写后的公有地址和端口号,会作为一组相对应的记录保存在地址转换设备内部的一张表中;
改写发送方IP地址和端口号之后,包就发往互联网,最终到达服务器,然后服务器会返回一个包,服务器返回的包的接收包是原始包的发送方,因此返回的包的接收方就是改写后的公有地址和端口号;这个公有地址其实是地址转换设备的地址,因此这个返回包就会到达地址转换设备;
接下来,地址转换设备会从地址对应表中通过公有地址和端口号找到相对应的私有地址和端口号,并改写接收方信息,然后将包发给公司内网;
3.4.3 改写端口号的原因
早期地址转换机制是只改写地址,不改写端口号的。用这种方法也可以让公司和互联网进行通信,而且这种方法更简单;
但是需要私有地址和公有地址一一对应,也就是说,有多少台设备要上互联网,就需要有多少个公有地址。然而公司人数一多,同时访问互联网的人数也会增加。需要的公有地址也会需要更多。
改写端口号就是为了解决这个问题:
端口号是一个16比特的数值,总共可以分配出几万个端口,因此如果用公有地址加上端口的组合对应一个私有地址,一个公有地址就可以对应几万个私有地址,这种方法提高了公有地址的利用率;

3.4.4 从互联网访问公司内网
对于从公司内网访问互联网的包,即便其发送方私有地址和端口号没有保存在对应表也是可以正常转发的,因为用来改写的公有地址就是地址转换设备的地址,而端口号只要随便选一个空闲的端口就可以了,这些都可以由地址转换设备自行判断;
但是对于从互联网访问公司内网的包,如果在对于表中没有记录就无法正常转发,因为如果对应表中没有记录,就意味着地址转换设备无法判断公有地址与私有地址之间的对应关系。
一般来说,用于外网访问的服务器可以放在地址转换设备的外面并为它分配一个公有地址,也可以将服务器的私有地址手动添加到地址转换设备中,这样就可以从互联网访问到这台具有私有地址的服务器了。
3.4.5 路由器的包过滤功能
包过滤就是在对包进行转发时,根据MAC头部、IP头部、TCP头部的内容,按照事先设置好的规则决定是转发这个包,还是丢弃这个包。
我们通常说的防火墙设备或软件,大多数都是利用这一机制来防止非法入侵的。
问题:
局域网中使用的双绞线中为什么要将信号线缠绕在一起?
将信号线缠绕在一起,信号线就变成螺旋形,其中两根信号线中产生的噪声电流方向就会相反,从而使得噪声电流相互抵消,噪声就得到了抑制。
将输入的信号广播到所有端口上的设备是交换机还是集线器?
集线器
用来指定网络号和主机号比特数的值叫什么?
子网掩码
将大网络包进行拆分的功能叫什么?
分片
路由器的路由表中有时可以看到子网掩码为0.0.0.0的记录,这代表什么意思?
默认路由

4 通过接入网进入互联网内部

4.1 ADSL接入网的结构和工作方式

4.4.1 互联网的基本结构和家庭、公司网络是一样的
距离的不同和路由的维护方式,就是互联网与家庭、公司网络之间最主要的两个不同点;
4.1.2 连接用户与互联网的接入网
互联网接入路由器是按照接入网规则来发送包的,所谓接入网,就是指连接互联网与家庭、公司网络的通信线路。
4.1.3 ADSL Modem将包拆分成信元
互联网接入路由器会在网络包前面加上MAC头部、PPPoE头部、PPP头部总共三种头部,然后发送给ADSL Modem(PPPoE方式下);
互联网接入路由器将包发送过去之后,包就到达了ADSL Modem,然后,ADSL Modem会把包拆分成很多小格子,每个小个子成为一个信元,信元是一个非常小的数据块,开头是有5个字节,后面是48个字节的数据,用于一种叫做ATM的通信技术。可以将信元理解为一种更小一号的包,原理上跟TCP/IP将应用程序数据拆分成块装进一个个包的过程是一样的。
ADSL Modem将包拆分成信元,并转换成电信号发送给分离器;
4.1.4 ADSL将信元“调制 ”成信号
将网络包拆分成信元之后,接下来就要将这些信元转换成信号了;
以太网采用的是用方波信号表示0和1的方式,ADSL采用的方法要复杂一些,因为方波信号的波形容易失真,随着距离的延长错误率也会提高,另外方波信号覆盖了从低频到高频的宽广频段,信号频率越高,辐射出来的噪声就越强,因此信号频谱太宽就难以控制噪声;ADSL Modem 采用了一种用圆滑波形对信号进行合成来表示0和1的技术,这种技术就叫调制;
4.1.5 ADSL通过使用多个波来提高速率
4.1.6 分离器的作用
ADSL Modem将信元转换为电信号之后,信号会进入一个叫做分离器的设备,然后ADSL信号会和电话的语音信号混合起来一起从电话线传输出去,分离器的作用在信号从电话线传入的时候 ,负责将电话和ADSL的信号进行分离;
4.1.7 从用户到电话局

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值