初识网络

一、网络的发展

I.独立模式

计算机之间相互独立,每台计算机分别持有客户的数据,执行各自的业务。

II.网络互联

多台计算机连接在一起,完成数据共享。

网络的精神:共享、开放。

二、局域网和广域网

1.局域网(LAN、私网、内网)

定义:在某一区域内,由多台计算机互联成的计算机组。

特点:(1)在同一局域网内的计算机可以直接互相通信,实现数据共享。

           (2)局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的几千台计算机组成。

           (3)使用专门铺设的传输介质进行联网,数据传输率高(10Mb/s~10Gb/s)。 

           (4)通信延迟时间短,可靠性高。

           (5)局域网可以支持多种传输介质。

分类

        按传输介质分为:有线网和无线网。

        按网络拓扑结构分为:总线型、星型、环型、树型、混合型。

        按访问控制方法分为:以太网、令牌环网、FDDI网和无线局域网。其中,以太网是当前应用最普遍的局域网技术。

2.广域网(WAN、公网、外网)

定义:连接不同地区局域网或城域网计算机通信的远程网。简单来说,就是把相隔千里的计算机都连接在一起。

特点:(1)数据传输距离远,往往要经过多个广域网设备转发,延迟较长。

           (2)可以连接多个地区、城市和国家,覆盖范围广。

           (3)由电信部门或公司负责组建、管理和维护,并向全社会提供面向通信的有偿服务、流量统计和计费问题。

           (4)广域网没有固定的拓扑结构,通常使用高速光纤作为传输介质,广域网管理、维护困难。

           (5)局域网可以作为广域网的终端员工和广域网连接。

分类:公共传输网络,大体分为电路交换网络和分组交换网络。

           专用传输网络,主要是数字数据网。

           无线传输网络,主要是移动无线网。

3.局域网和广域网的区别和联系

区别

范围不同:局域网是在一个不大的范围,而广域网可以连接不同范围的计算机。

数据传输速度不同:局域网传输速度较广域网块。

联系:广域网可以实现几个不同局域网之间的通信。

三、协议

定义:执行之前的一种约定。

计算机之间的传输媒介是光信号和电信号,通过“频率”和“强弱”来表示0和1这样的信息。要想传递不同的信息,就需要约定好双方的数据格式。

因此通信的两台主机,不仅要约定好协议,协议还需要采用同一种语言。

通信协议通信双方的数据格式约定。

不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则,这种规则称为协议。协议中存在各式各样的内容:从电缆的规格到IP地址的选定方法、寻找异地用户的方法、双方建立通信的顺序,以及Web页面显示需要处理的步骤等等。

制定协议的往往是该行业的精英,有着绝对的话语权。如华为有定制5G的标准。

协议也是分层的,协议分层的目的是为了便于维护。

协议分层:明确按照提供的服务以及适用的协议,以及提供的接口对复杂的网络通信环境进行层次划分。就是一种封装。封装了具体实现,只需要向上提供接口与服务即可。

协议分层的好处:便于上层使用,清晰化结构,使用简单。

同时,分层也是为了进行改动。试想,如果互联网只由一个协议统筹,某个地方需要改变设计时,就必须把所有部分整体替换掉。而分层之后只需把变动的层替换掉即可。把各层之间的接口部分规划好之后,每个层次内部的设计就能够自由改动了。

四、OSI(Open System Interconnection)七层模型(权威)

1.简介

OSI模型把网络从逻辑上分为了七层,是一种框架性的设计方法。其最主要的功能是帮助不同的主机实现数据共享。最大优点是将服务、接口和协议这三个概念明确地区分开来,使不同的系统不同的网络之间实现可靠的通信。

OSI模型从内到外依次为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

2.OSI模型中各层的功能

物理层:实现计算机系统与网络间的物理连接。

数据链路层:进行数据打包与解包,形成数据帧。

网络层:提供数据通过的路由。

传输层:提供传输顺序与相应信息。

会话层:建立和终止连接。

表示层:数据转换,确认数据格式。

应用层:提供用户程序接口。

OSI模型只是一个框架,它的每一层并不执行某种功能,功能的具体实现还需通信协议,主要通过软件来进行。当数据(源主机)在层之间向下传播时,每一层都会在数据前面加上一个报头,用于标识包的来源和目的。

五、TCP/IP四层(或五层)模型(应用)

1.简介

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。

TCP/IP通讯协议采用5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

网络协议是用C语言写的。

2.每层的作用

TCP/IP五层模型从内到外依次是物理层、数据链路层、网络层、传输层、应用层。

物理层:主要负责光/电信号的传输方式。集线器工作在物理层。集线器的作用是将信号放大,让信号传输得更远。

数据链路层:负责设备之间数据帧的传送和识别,局域网的通信。交换机工作在数据链路层。

网络层:负责地址管理和路由选择,广域网的通信。路由器工作在网络层。

传输层:负责两台主机之间的数据传输。

应用层:负责应用程序的沟通。网络编程主要针对应用层。

说明:

1)应用层决定了向用户提供应用服务时通信的活动。

2)传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。

3)网络层是用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎么的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。与对方计算机通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项中选择一条传输路线。

4)链路层(又名数据链路层,网络接口层)用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用范围之内。

一般而言,

对于一台主机,它的操作系统内核实现了从传输层到物理层的内容;

对于一台路由器,它实现了网络层到物理层;

对于一台交换机,它实现了从数据链路层到物理层;

对于集线器,它实现了物理层。

但是并不绝对,很多交换机也实现了网络层的转发,很多路由器也实现了部分传输层的内容(比如端口转发)。

3.每层的协议列举

数据链路层:以太网协议(局域网的标准)。

网络层:IP协议(网际协议)、ICMP(Internet控制报文)协议以及IGMP(Internet组管理协议)。

传输层:UDP(用户数据报协议)、TCP(传输控制协议)。

应用层:Telnet、HTTP、SMTP、FTP、DNS和SNMP等协议和应用。

4.跨网段的主机的文件传输过程

如上图所示,两台主机通过路由器互相连接。路由器可以把以太网、令牌点对点链接和FDDI(光纤分布式数据接口)等不同的网络连接在一起。协议中的各层对上一层是透明的。即应用层只负责应用程序之间的通信规则,不必了解数据如何在网络中传输,也不必了解怎样接入网络。而链路层只需要负责传输,而不需要知道正在传送的是什么数据。

六、网络传输基本流程

假设A主机和B主机位于两个不同的局域网上,从A主机传输信息到B主机,通讯过程如下:

应用层的操作为用户进程,其它层均为操作系统内核进程。

应用层由用户完成,让用户关注处理数据本身,我们(Java程序员)的大部分工作都是在当前层或更上层。

传输层、网络层和链路层的操作集成在内核,让用户忽略通信细节。

从A主机由外层到内层每一层数据都要经过封装的过程,而B主机从内层到外层每一层数据都要经过解包的过程。每一层上都有对应的协议,即协议分层。数据的传输必须要经过物理层(在这里我们不进行研究)。我们先来介绍一下几个过程:

发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层会把对应的首部消去,这种把数据信息包装起来的做法称为封装。

封装:应用层数据通过协议栈发到网络时,每层协议上都要加上一个数据首部(也称为报头)。我们可以理解为快递包裹外面的配送信息。

解包:将报头和有效载荷正确分离。我们可以理解为拆包裹,有效载荷即为我们真正买的商品,报头即为我们不关心的商品的包装、包裹。

分用:解包交付的时候,B主机的每一层必须要明确把有效载荷交给上层的谁,决定交给谁的信息就包含在当前层的报头中。

利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则从应用层往上走。

我们用HTTP举例说明,首先作为发送端的客户端在应用层(HTTP协议)发出一个想看某个Web页面的HTTP请求。接着为了传输方便,在传输层(TCP协议)把从应用层处收到的数据(HTTP请求报文)进行分割,并在各个报文打上标记序号及端口号后转发给网络层。在网络层(IP协议),增加作为通信目的地的MAC地址后转发给链路层。这样一来,发往网络的通信请求就准备齐全了。(可以总结为a.发送HTTP请求,b.传输层进行HTTP请求分割,添加标号和端口号,c.网络层添加作为通信目的地的MAC地址,并转发给数据链路层。)

接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。当传输到应用层,才能算真正接收到由客户端发送过来的HTTP请求。

事实上,B所在的局域网中的所有主机都可以收到来自A局域网的信息,那么A主机是怎么让B主机接收到的呢?

在A主机向B主机发消息时,会包含一个MAC地址。MAC地址会惟一标识主机,在每台主机的网卡中。位于B局域网中的其它主机会自动丢弃来自A主机的信息(因为MAC地址不匹配)。

如果A局域网中多台主机同时向B主机发送信息,就可能在数据链路层发生数据碰撞。每个局域网都有碰撞检测的功能;一旦发生数据碰撞,主机就会通过“等”的方式来避免碰撞。

说明:IP协议的作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件。其中两个重要的条件是IP地址和MAC地址。IP地址指明了节点被分配到的地址,而MAC地址是指网卡所属的固定地址。IP地址可以和MAC地址进行配对。IP地址可以变换,但MAC地址基本上不会更改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值