首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

计算机网络一:概述

这学期学了计网,学得死去活来的,最后也慌慌忙忙地复习了下,成绩还没出来,心里还是虚虚的。

计算机网络就是在讲网络中的各种协议,为了让我们通个信,各位大牛们也是够拼的了。接下来就用一个例子讲一下计算机网络的工作原理吧。

情景讲解

假设那你是抗战期间上海租界的一位地下工作者,和人合租子一间出租屋里,现在得到了一封情报,要交给与你单线连接的上级。你该采取什么方式交给他呢?信息内容又得包括什么呢?

首先,你贿赂了每天早上送报纸的小报童给你送信(物理层,链路层),因为小报童同时给许多人送信,所以你得在信封上写明收信人住址(网络层IP地址)——天王盖地虎小区宝塔镇河妖单元302,又考虑到你上级也是与别人合租,所以你得写上你上级的名字(传输层端口号)——李狗蛋。接着你又同样写上了自己的地址和姓名,交给了报童,报童拿到了你的信后,看到是要发到天王盖地虎小区的, 而天王盖地虎小区是张铁柱(路由器或网关)的地盘(另一个网段),于是他在信上又写上了张铁柱的代号——AC-2B-6E-5D-CC-71作为收信人地址的别称(以太网mac头部)。

正常情况下,一次情报传递是这样的——你的线人收集到了重要情报,交给了你(应用程序将数据交给协议栈委托发送),你把情报放进信封里,写上两边收信人(端口号)和地址(IP地址),然后就交给小报童,报童发现目的地不是自己的地盘,而是张铁柱的,就在信上面加上张铁柱的代号——AC-2B-6E-5D-CC-71,然后给了张铁柱(其实并不是简单给他,下一个例子会详讲),张铁柱拿到了信后,擦到自己的代号(解封装)把信放到天王盖地虎小区宝塔镇河妖单元302的邮箱里,然后李狗蛋拿到了信,拆开后知道了情报内容。一次情报传递就这样结束了 。

以上是在主机数少且前期工作全完成的情况下的情报传递过程,接下来我们来看看要如何在一无所有的情况下建立起连接。

你由于工作出色,被调往敌人大本营工作,出发前,你只知道你的上级住在街口大槐树旁一栋五层大楼的四楼,他的名字也是李狗蛋。到敌人大本营几天后,你安顿了下来,准备跟你的上级接个头,虽然这里也有小报童传输系统,但你得先知道你上级的具体住址。于是你拿上了些礼品,去拜访当地的“活地图”(DNS服务器),从“活地图”那你得知槐树旁一栋五层大楼的四楼的真实地址是——不知道起什么名小区3单元401(DNS服务器:将域名转换为IP地址)接着你和以往一样写好了信,给了报童,小报童拿到信犯了难,因为他从没有给不知道起什么名小区送过信,不知道管那个小区的报童的代号是啥。

冷静下来后他想到了办法(ARP协议)——他先在自己的地址簿里增加了你的地址,并告诉其他报童说以后给你的信可以给他来送(逆向路径学习),然后向所有报童发了封简短的信——你门有谁知道不知道起什么名小区的信要给谁吗?过了一会儿,有人回应了——给我吧,我的代号是DC-9B-6F-7D-CC-66,小报童这下高兴了,他在信封上写上了DC-9B-6F-7D-CC-66,并发给其他报童,其他报童收到了信,检查代号以核对是不是给自己的,如果是就收下,不是就扔掉。而代号为DC-9B-6F-7D-CC-66的报童也不一定是你上级小区的报童,它也可能将信再转发,不过他确实一定知道不知道起什么名小区的信要给谁,所以其实把信给了他,小报童的工作就完成了。接着DC-9B-6F-7D-CC-66收到了一封给你的回信,他检查已知的地址表,发现给你这个地址的信可以交给小报童,因此他把信给了小报童,小报童接着又把信给了你。一次情报传输就结束了

总结

2、用本机端口号,IP地址,目的端口,IP填充到IP数据包头部。

3、如果连接的是以太网,运用ARP协议查询出下一跳设备的MAC地址,再用mac头部在IP数据包头部填充以太网的帧头,组成以太网帧

4、将以太网帧发送给路由器/集线器/网关,在主机运用ARP协议时,它其实也获知了下一跳地址,于是他修改以太网帧头部并转发,接着数据就在互联网中一步步传达,直到到达目的主机。

第一次写技术类推送。如有缺漏,错误,望各位大佬指正,我们评论区里见。

下一期将会同样以抗战期间上海租界的一位地下工作者情景带入,讲解各层协议。

封面图:网络是怎么样连接的,【日】户根勤,周自恒译(侵删)(PS:计算机网络入门强烈安利这本书)

插图1:pexels社区(侵删)

插图2:网络是怎么样连接的,【日】户根勤,周自恒译(侵删)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180713G1P9KV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券