趣谈网络协议(五)

假设一个场景:

    无路由器的情况下,如何用一条网线让两台电脑组建成一个局域网(LAN)一起玩红警?

    首先,这条网线跟普通连路由器的网线是不一样的,两头分别插在电脑的网卡上。水晶头的1、3是接收端,2、6是发送端,所以网线其中一端的1、3和2、6互换,这样就能在物理(第一)层互相接收、发送信息。而根据上面章节讲过的,CURD把两台电脑的IP分别设置为192.168.1.10/24、192.168.1.20/24.这样就能保证它们在同一局域网内并能互相收发信息。这样就能开始游戏了

再假设一个场景:

    无路由器,有3~10电脑需要组建一个局域网玩红警,这时候怎么办呢?

    这时有多台电脑的话,可以用上HUB集线器,只要接上然后设置IP就OK了。

    但这里有几个问题:怎么确定端到端的通信呢

    广播一般在是网络的最外(第一)层:物理层.如果连了五台电脑。那么其中一台发一个包给另一台时,会以广播的方式转发给其他四台电脑.这些电脑会识别目的MAC地址是否与本机MAC地址匹配.这么一来的话,发送包的效率会非常低下.做很多无用功。这是因为Hub无大脑,完全傻瓜式.它直接在物理层把包转发给每一台电脑

    这个时候交换机就闪亮登场了.相较于路由器是在网络传输层.交换机它是在数据链路层设备。他会把广播包的源MAC地址以及IP地址缓存起来,当下次有目的MAC地址是之前的源MAC地址的话就能直接命中而不用广播的方式转发给每台电脑,这样大大提高了效率,由于IP的不持久性,所以交换机的缓存也有一定的时效

一、物理层

    也是第一层.广播包一般游走在这一层

二、数据链路层

    第二层.MAC的全名Medium Access Control,媒体访问控制。

    其实就是如何控制包往媒体上发的先后顺序、这个包是否给我的、发送时出错怎么办,都是这一层媒体访问所要解决的问题

    媒体访问控制.也叫多路访问,分几种方式:比如

    1.马路上的多条车道,你走你的我走我的。叫做信道划分

    2.单双号限行.今天你走明天到我。叫做轮流协议

    3.不管三七二十一,先出门再说,发现堵车就回球,错过高峰再出发。叫随机接入协议。著名的以太网就是这个协议

    MAC地址:解决媒体接入控制的问题后,那包发给谁,谁接收。这里要用到一个物理地址,叫做链路层地址,但是第二层主要解决的是媒体访问控制,所以通常被称为MAC地址

    有了目的MAC地址,数据包在链路层上进行广播,网卡就能识别这个包是发给它的。如果MAC用的是以太网的话,那么包的头分别是源MAC地址、目的MAC地址。发送类型一般都是IP包,或者是响应/请求包

    

如果是IP数据包,目标IP是自己,采用TCP协议,目标端口80.而监听80端口的程序是nginx.这时请求就交给nginx去处理了。

一开始是不知道目标电脑的MAC地址的,在已知目标IP的协议下,通过局域网“吼”一声,就能得到目标IP的地址,这就是常讲的ARP协议

对于以太网最后面的CRC,是用来循环冗余检测的,它通过各种算法可以知道包在发送的过程是否发生错误

    

转载于:https://my.oschina.net/u/2283248/blog/1820200

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值