我想象中的计算机网络(续)

前言

之前讲过了我理解互联网构成的过程 我想象中的计算机网络 ,这里接着说。

传输目标

之前,说过在以太网情况下,每个计算机需要有一个自己唯一的地址mac地址,在互联网中也是一样的需要一个唯一地址,ip地址,关于IP地址如何分配和组成,就是ip协议。但是IP地址只能帮我们找到正确的计算机,不能帮助我们找到对应的程序,想象一下在lol左下角突然出现女朋友的wx查岗信息…,所以在ip地址的基础上我们还需要端口号来找到对应的程序。

传输协议

之前也说过,互联网中传输数据是分包传输的,这造成一些问题,第一个就是数据包丢失,如果数据其中一个数据包丢失,但是计算机程序一样的继续使用的话就会造成错误,比如女朋友质问你是不是喜欢别人了,你回答我喜欢你,“你”字的数据包一直丢失。。。(来自FFF团的恶意?)

所以我们需要一些传输的协议来保证错误的数据不被使用,接下来就是就算你没学过计算机,不会编程也会听说过的,UDP,TCP了。

UDP

之前说过IP协议会在数据的前方添加头部保存目标ip地址,UDP会进一部增加一些信息,比如端口号,和校验和。利用校验和来验证数据是否完整,举个栗子:

在这里插入图片描述

这里校验和是使用16bit的长度来存储的,如果校验和大于16位能表示的最大值,保留低位数据。这里简单说了下UDP不难看出UDP存在很多缺陷,如发送者无法得知数据是否发送成功,并且不提供数据恢复或者重发的功能,所以不能保证数据一定送达。但是它简单快速,比如视频聊天,网络游戏这些不用保证所有数据一定送达的情况(所以视频聊天卡顿,和吃鸡丢包的万恶之源找到了?)

TCP

既然上面说了UDP的缺点了,那么肯定有一个协议能够保证数据一定送达对吧,那就是TCP协议,TCP的数据包在UDP的基础上做了一些增强,比如给数据包添加了序号,这顺便解决了乱序问题。TCP传输如下:

在这里插入图片描述

这里只是简单的画了下传输过程,省略了建立连接,和断开连接的过程(三次握手,四次挥手不会有人没听过吧,不会吧,不会吧。),TCP协议就解决了发送方无法得知发送成功与否,数据包丢失,数据包重复,数据包乱序的问题。此外TCP协议还可以通过应答成功次数了解网络拥堵程度,自动调整传输速率。

有人要问了,既生TCP,何生UDP,TCP协议也存在缺点,因为需要应答所以使得传输数据量扩大了一倍,这对于有些情况是不值得的,比如吃鸡,给你的感觉就是网速相同的情况下帧数降低了一倍。。。想象一下从60帧降低到30帧的感觉。

转头一想

上面说了要找到一个应用需要ip地址和端口号,那为啥我找度娘的时候输入的是baidu.com而不是xxx.xxx.xxx.xxx:xxxx这样的Ip地址加端口号呢。首先不知道你们觉不觉得记ip地址和端口号很麻烦,反正我觉得,所以聪明的人类发明了域名服务来解决这个问题。

当你们在浏览器内输入baidu.com时,其实是先访问了域名服务器(DNS服务器),让DNS服务器给你查找baidu.com对应的ip地址是多少,然后解析替换掉域名根据IP再去寻找对应百度的服务器。

在这里插入图片描述

实际:

在这里插入图片描述

可以看到返回的远程地址是14.215.177.39端口号是443,你直接通过这IP地址去访问也是完全没有问题的。

关于DNS存储域名的结构其实是通过树来存储的,比如一级域名.com,.org,.edu等等,下面分出二级三级等子域名,用CSDN来举例:

在这里插入图片描述

到此我觉得基本上是吧这些基础概念都想了个大概了。关于各种协议为了帮助理解,已经有前人帮我们做了分层抽象,比如OSI的七层模型,还有比较流行的五层模型,大家有兴趣可以自行了解。

另外如果你想验证路由跳转这个概念的话,可以使用命令行界面,windows命令是 tracert,Linux命令是traceroute。也可以用它来排查一些网络问题。可以演示一下:

在这里插入图片描述

可以用最后一个ip地址去访问会发现一样可以访问到百度(注,http协议默认端口号80,https协议默认端口号443)。关于计算机网络本人的想象基本就到这里了,其他的万维网其实是在互联网基础上设立的。以页面为最小单位的网络。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值