计算机网络随谈

文章目录

  • 瞎扯一会
  • 1, 局域网和广域网
  • 2, 什么是IP地址?
  • 3, MAC地址
  • 4, DHCP服务器
  • 5, DNS和ARP
  • 6, 路由器的本领
  • 7, 网络模型

瞎扯一会

徐小黑刚开始学习计算机网络时是看mooc上的课程,感觉好难懂,理解也不深,后面我就先大致了解一下网络运行的原理,抛去那些难的,细节的东西,大概明白了其实计算机网络就是拆包和装包,还有路由器其实就是个骗子,能够偷天换日,他掌握着欺骗伪装神技(NAT技术),巧妙地解决了IP地址枯竭的问题。等等。。。
了解这些之后我在慢慢一点一点去了解深的,将网络七层一层一层剖开,学习各种协议还有服务,渐渐的就明白了计算机是怎么回事。
好像是我的初中老师说的,读一本书就是从薄到厚,然后再从厚到薄。我现在认为好正确,先从大纲开始入手,一点一点深入,最后到了你真正理解一本书的时候,你自己就又能将所学到的所有归纳总结成一张纸。
不知道从哪里入手学习计算机网络的同学,可以先去了解一下家里的路由器怎么工作?还有如何从路由器上再装一个路由器?
之前刚装宽带的时候,由于客厅的路由器和我房间隔了好几堵墙,我就不得不再买一个路由器,自己学着配置路由器,那一次也让我第一次接触到计算机网络,对之后的学习也带来一点小帮助。

现在要说我们最离不开的就是网络,离开了网络,就感觉整个世界空荡荡的,什么都干不了,很多同学肯定也配置过自己家里的或者宿舍的路由器,修改过WiFi的密码,但绝大数人肯定不知道原理。那到底什么是Internet? 为什么你能上网?你能马上知道地球任何地方的新闻?接下来我们简单聊聊计算机网络的世界。

我们从浅到深慢慢深入,希望同学们能有收获。

1, 局域网和广域网

局域网(Local Area Network),简称LAN,是指在某一区域内由多台计算机互联成的计算机组。“某一区域”指的是同一办公室、同一建筑物、同一公司和同一学校等,一般是方圆几千米以内。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。
通俗点说, 局域网其实就是小范围的计算机网络,比如你家的路由器,和靠这个路由器上网的所有设备就构成了一个小的局域网。
广域网(Wide Area Network),简称WAN,是一种跨越大的、地域性的计算机网络的集合。通常跨越省、市,甚至一个国家。广域网包括大大小小不同的子网,子网可以是局域网,也可以是小型的广域网。

广域网是较局域网而言,例如城域网,比局域网覆盖范围大的网络.
因特网internet就是我们现在常说的互联网了,是世界上最大的网络体系了。

  • 路由器上有LAN口WAN口,我们将路由器比喻成我们家局域网的网络关卡boss,他控制着我们是否能上网,我们想要上网就必须通过路由器这一关,这就是为什么我们有时候也将路由器叫做网关路由器。家里的所有电脑都是连接在LAN口,LAN口有很多个,如果你家客厅的电脑想和你房间的电脑通信是不需要联网的,因为他们是在同一个局域网下。
    但是WAN口只有一个,我们想要上传东西到互联网或者从互联网上下载东西,就是通过这个口。

2, 什么是IP地址?

有很多人把 IP地址比喻成身份证,我觉得这是不太准确的,我们平时的所指的ip地址往往是私有ip地址,这个地址只是在局域网里有效,而放在全世界是无效的,我倒觉得IP地址其实就像每个人的名字,例如你叫张伟,你朋友在大街上喊你的名字,可能有好多人回头,可能好多家庭(局域网里)都有一个叫做张伟的电脑,所以ip地址是局域网有效,我们设置路由器时输入到浏览器的192.168.1.1 就是路由器在局域网的名字,他还有一个公网IP(在互联网中路由器的名称),具体的后面介绍到。

  • ip地址由两部分组成 = 网络号 + 主机号
  • 网络号就是同一个网络下所有主机共有的
  • 这里另外提一个概念子网掩码(用来区分网络号的,是从左到右连续的1)例如: 255.255.255.0,因为这里是十进制,转换成二进制是24个1,所以也可以直接写24
  • 主机号就是同一个网络下各个主机特有的
  • 子网掩码(NETMASK)& IP地址 = 网络号(做与运算可以得到网络号)
    //因为1&x = x,0&x = 0,所以从ip地址中提取出网络号
  • 下面给出例子:
    拿路由器的192.168.1.1开刷
    查询你的路由器可以知道子网掩码是255.255.255.0
    那么路由器的网络号就是192.168.1.0

如果子网掩码是255.255.0.0
网络号就是192.168.0.0

  • 另外还有一个广播地址(就是这个地址是发给局域网内所有的主机的),网络号0的部分(主机号部分)全部改成1, 第一个例子广播地址就是192.168.1.255, 第二个例子就是192.168.255.255

IP地址分类这里就不说了,自己可以百度看看,下面讲一些特殊的地址,
特殊IP地址

  • 0.0.0.0~0.255.255.255 严格说来,0.0.0.0已经不是一个真正意义上的 IP地址了。它表示的是这样一个集合:所有不清楚的主机和目的网络。

  • 127.0.0.1(127.0.0.1~127.0.0.255) 本机地址,主要用于测试。

  • 169.254.x.x 如果你的主机使用了DHCP功能自动获得一个IP地址,那么你的DHCP服务器发生故障

  • 公网IP地址: 除了私有IP地址和特殊用途的IP地址

3, MAC地址

mac地址就是计算机的物理地址,这个就可以比喻成pc的身份证号码,他是全世界唯一的,终生不变,准确点讲,这个物理地址是计算机所带的网卡的标识符。
每一张网卡在“出生”时都有一个独一无二的MAC地址,是网卡的ID。相对于物理MAC地址而言,IP地址也叫做软件地址。

  • 需要注意的是网卡是工作在数据链路层。这个在后面的OSI 7层模型中会说到。

4, DHCP服务器

电脑是怎么获取自己在局域网里的私有IP地址的?
这就需要DHCP服务器了,DHCP叫做动态主机配置协议,在家庭局域网内DHCP服务器就是我们的路由器,所以之前说路由器是boss,他决定我们能不能上网,当然他还有其他的通天的本领,这个后面会介绍。

下面我们登陆路由器设置网站192.168.1.1,打开DHCP服务,发现有一个地址池,这个地址池就是给路由器下所有设备分配的IP地址范围。

计算机网络随谈_第1张图片

  • 注意: 如果我们没有手动设置IP地址,网关,DNS,每次电脑重启后都要重复在局域网内广播(就是所有机器都会收到,但是如果发现不是给自己的数据,就会丢弃),然后路由器收到后就会分配给电脑一个IP地址。

5, DNS和ARP

DNS叫做域名服务器: 用来将域名转换成IP地址,
DNS服务器分成好几级,国内最大的DNS服务器是114.114.114.114,这个服务器也相对比较稳定,
我们访问哪个网站时,往往不会去记该网站的公网IP,物理地址更不用说了,我们往往记住的是域名,例如baidu.com ,但是计算机之间通信是必须通过IP地址才能通信,所以必须通过DNS服务器将域名解析成IP地址,我们才能访问到目的网站。
ARP叫做地址解析协议: 用来将IP地址翻译成MAC地址

6, 路由器的本领

路由器为什么叫路由器?就是因为他是路口,数据到他这,他需要选择道路决定数据发到哪里。
前面提到了路由器又叫网关服务器,又是DHCP服务器,但是他还有一个最厉害的本领,就是NAT转换

前面提到过LAN口和WAN口,其实路由器有两个IP地址,一个就是LAN口 IP (内网ip,就是在局域网内标识路由器自己的地址,路由器下所有联网设备的ip都和这个ip在一个网段内),一个就是WAN口 ip (外网公有地址,就是在互联网世界里的能让其他电脑找到的地址),当我们想向局域网外的世界发送数据时,路由器就会将我们电脑的IP地址和端口号替换成他自己的IP地址和端口,并记录在一个NET转换表内,等数据发送回本局域网内的哪台机器, 路由器就可以根据这个表知道是给哪台pc。
计算机网络随谈_第2张图片

  • 这里必须注意:路由器的外网IP和内网IP是不能在一个网段内。
  • 还有我们这里简化处理,可能我们家庭的路由器上面还有多层路由器,他们都会做NAT欺骗,所以我们路由器的的公网IP可能依旧是私有ip, 如果需要真正的公网IP ,你就得去找你家宽带的运营商了。

7, 网络模型

上面所说的都没涉及到网络模型,还有数据在网络中是如何传输的。接下来介绍模型。

计算机网络随谈_第3张图片

  • OSI七层网络模型是一个参考模型,是一个把网络通信在逻辑上的定义,也可以理解成为定义了通用的网络通信规范。而我们的数据在网络中传输的过程,实际上就是如下图的封装和解封装的过程,发送方通过各种封装处理,把数据 转换成比特流的形式,比特流在信号传输的硬件媒介中传输,接收方再把比特流进行解封装处理。
  • osi说实话是帮助我们理解的模型,但是过于复杂,就出现了5层简化模型,这个模型也是帮助我们理解的
  • 现在真正的实行的标准其实是4层模型。

计算机网络随谈_第4张图片

  • 每层都有自己的协议,在我看来,7层模型就像一个快递公司,然后每层上的各种协议就像掌握着不同工作的快递员,在发送端,这些快递员负责装包,然后写上自己该写的信息,到了接收端,这些协议就负责将数据包一层一层地拆开,最后获得用户真正需要的数据给应用程序。

上面有提到端口,端口就是区分数据是发给哪个应用的。

  • 举个例子,我的朋友用微信给我发了一条hello消息,这个数据经过模型各层的封装后,然后达到我的电脑,经过拆包到达传输层和应用层之间,这之间就有很多端口,有微信的端口,有QQ端口,但是数据包中有记录着是给微信的端口号,所以hello不会传给QQ,而是给微信。

今天就谈到这,协议在下一篇博客中介绍,还有三次握手,四次挥手。敬请期待。。。。

因为计算机网络过于复杂,小黑写的逻辑也不太好,还有如果有错误的地方希望大家指出。

你可能感兴趣的:(计算机网络)