由浅至深深入研究内网

一、     什么是OSI参考模型?
1.1  简介
OSI(Open System Interconnect),即开放式系统互联参考模型。是由国际标准化组织在1985年发布的网络标准框架。该架构体系为世界网络标准。也就是说。从一台电脑通过网络连接到另一台电脑之间的所有协议 标准等必须遵照osi参考模型标准进行传输数据。共分为7层从下至上分别为:物理层(Physical Layer
)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。每一层的功能都是不一样的。
                                                                
1.2各层作用
先从物理层开始说吧
物理层:
      大家听名字就能听出来。这一层肯定是做物理连接。可能有些小伙伴会问?什么是物理连接呢?电脑和电脑之间用线连起来。这就算物理连接。他的主要功能就是用各种通信介质(双绞线、同轴电缆、光纤等)将通讯设备连接起来。它的传输单位是比特流。常用的设备有:网卡,双绞线,同轴电缆,光纤等。
数据链路层
      链路层是什么呢?链路分为物理链路以及逻辑链路。物理链路通常是指真正存在的网络链路。比如:电脑和交换机之间使用一根双绞线连着的。那么这台电脑和交换机之间既存在一条物理链路。逻辑链路通常是指在物理链路之上。通过一些协议或者方法使之能够通信的链路。比如说你的电脑和你家路由器之间是用一根线连着的。你同时可以看电影,聊QQ,上i春秋。这就是在物理链路上建立的逻辑链路。OSI参考模型规定:在此层将把物理层的比特流转换成链路层帧进行传输。本层可以指定了一个内网的拓扑结构。并提供了硬件寻址。常用的设备有二层交换机。常见的一些协议有ARP RARP ICMP等。

网络层:
      网络层是为传输层提供服务的。同时在此层就有了ip的概念。该层的作用是解决数据如何传送的问题。好比你站在一个十字路口 想去别人家但是有好几种的方法。同时此时是在晚高峰时期。有的路很堵,过不去,但是路径很短。有的路很宽松,没几个车。但是行走的距离很远。这时候你应该会打开一些地图软件。根据地图选择的最优路径来走。网络层的作用也是类似于这个流程。他会根据网络的情况。通过路由算法。来算出最优路径,供数据传输。分为静态路由和动态路由。静态路由就是规定好了。谁必须走哪条路。动态路由就是根据一些动态路由协议(RIP,OSPF,BGP)来自动选择最优路径。比较有代表意义的网络设备就是路由器(你家的路由器功能可没有专用路由器的功能多)还有三层交换机(就是二层交换机多了个路由功能。省着再买个路由器了)。
传输层:
到传输层。就有了端口的概念了。数据通信到这里也就结束了。该层作用是提供了主机程序之间端对端之间的服务联系。按端口号寻址。这就犹如你的远房表哥来到了你的城市,想找你叙叙旧。他给你打了个电话。说他在XXX酒店1702号。当你根据导航找到这个酒店(即网络层)你会去找他的房间(即传输层)在跟他叙旧。如果说他没告诉你房间号。你还能找到他吗?当然不能了。。。

言归正传,传输层的设备笔者只听说过并没有见过。即四层交换机。听说可以端口转发。即把一个端口转发给另一个端口。这种操作我并没有在交换机里面见过。。。此层就两个协议。一个是 TCP (传输控制协议),另一个是 UDP (用户数据报协议)。

会话层:
会话层。主要功能是负责建立会话以及销毁会话。什么是会话呢?可以理解成打电话就是会话。从接听开始到结束。这就是一个会话的过程。

表示层
      此层由于作者脑洞不够大真无法解释。。。
应用层
      该层为OSI参考模型的最高层。此层提供了我们可以直接使用的东西。比如说网站 APP应用等。该层协议很多。可能每天都会诞生一个新的协议。例如:http(超文本传输协议)、ftp(文件传输协议)、DNS(域名系统)等等。作用是直接面向于用户。。


二、      什么是内网?什么是外网?
2.1内网
      内网,又称局域网(LAN)是指在特定的区域内由各种网络设备以及终端与服务器组成的网络。通常是半封闭式的,即内网可以访问外网。而外网却无法访问到内网,但通过虚拟专用网络技术(微屁恩)可以在公网上连接到内网上。通常一个公司,学校,政府部门。都有一个内网。
 

2.2外网
      外网,又称广域网(WAN)即在公网上每个人都可以访问其他人的资源。Internet(因特网)是世界上最大的广域网。


 

三、数据的封装与解封装
由于互联网之间数据要进行传输。中间经过各种协议 设备 变化。由此繁衍出数据的封装与解封装。在此。笔者给大家简单的介绍 一下数据在osi参考模型中的封装与解封装。
前文已经介绍了osi参考模型。在此本人拿访问新浪网进行举例,在访问新浪网的同时。网络数据包是如何走的。
首先。访问http://www.sina.com.cn/。的第一个数据包是向DNS服务器(114.114.114.114)请求该域名的ip地址。
 
请求过后。DNS服务器会回应一个ip地址(新浪的ip地址)返回给本机
 
浏览器会随机生成一个端口 用于与网站服务器80端口进行通信。并封装成四层tcp协议 并开始进行TCP的三次握手。
 
第一次握手:首先我们的客户端先发出一个同步请求(SYN,seq=0,ACK=0)。用于试探一下对方服务器端口是否开启。并进入监听模式。如果开启。对方会回应一个SYN+ACK的包(SYN,seq=0,ACK=1)。一次握手完成
Ps:换位思考一下这个这个同步请求。如果说进行TCP SYN一次的话。对端会回应一个SYN+ACK的包。那么 如果说我们一次性发非常多的TCP SYN请求包,对端会怎样呢?当然。如果对端是服务器的话,应该不会有太大的问题。如果说对端是一个路由器,或者说配置较弱的防火墙。那么。并发数过大的TCP SYN包发给路由器或防火墙可能会直接导致该设备死机甚至重启。这也就是TCP SYN攻击的原理与危害。
 
第二次握手:同步请求包发送过去了,且服务端收到了同步请求包。SYN+ACK的包就从新浪传回来了。即客户端发起连接且服务器同意连接(SYN,seq=0,ACK=1)。一般只要是端口开放,服务端会肯定同意连接的。二次握手完成。
 
第三次握手:当客户端收到了服务器发送的二次握手,即:SYN,seq=0,ACK=1.客户端还要再次发送一个确认的包即:ACK=1.同时,此TCP连接进入建立状态。即可以发送http请求。
那么问题又来了。我是怎么和新浪的这个IP地址进行通讯的呢。到这步我们已经追寻着osi参考模型。我们已经从应用层走到了传输层了。
当然。我们还要继续往下走。。。从我家走到新浪
如果我没猜错的话,你家的网应该是这样的:
 
如果说你家200几年就有网的话。你家的网应该是这样的:
 
运营商里面应该是这样的:
 
对端的新浪应该是这样的:
 
加在一起应该是这样的:
 
左边的区域是新浪 中间的区域是ISP(运营商) 右边的区域是你家。从我家走到我们市的市级运营商。再从你们市的市级运营商走到省级运营商,再从省级运营商走到别的省。这就涉及到一个路由的路径选择。
 
事实上网络远远要比我话的这个图复杂。如果说我想从北京走到广东。可能有很多条路径。从北京和广东有一条直连光纤。还有一条从北京走到上海从上海走到广东的一条光纤。那么从我家到新浪该怎么走呢?

事实上这个问题我们可以不考虑。考虑这个问题简直是杞人忧天。我们每年都要交网费。这个问题应该运营商来考虑怎么走合适。通常省和省之间的联系与运营商和运营商之间的路由是用bgp(边界网关路由协议)来做的。确保每个自治域之间都能互通。且如果说某个节点出现了故障。他可以自动计算出其他的最优路径来走。这也就是当年为什么中美的海底光纤断了,而中美网络还可以正常通信。



转载: https://bbs.ichunqiu.com/thread-33469-1-1.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值