网络原理概念初识

文章介绍了网络的基本概念,包括局域网和广域网的组建方式,以及网络通信的关键元素——IP地址用于标识主机,端口号定位主机中的进程,协议规定数据传输的格式和规则。TCP/IP五层模型在实际网络组建中的应用也被提及。
摘要由CSDN通过智能技术生成

1、什么是网络

     在电的系统中,由若干元件组成的用来使电信号按一定要求传输的电路或这种电路中的部分,叫做网络。

网络种类很多,具有不同的形式和功能:

(1) 局域网:简称LAN,局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下, 是无法通信的。

        局域网组建网络的方式有很多种:

        1)基于网线直连

        2)基于集线器组建

 

          3)基于交换机组建 

            4)基于交换机和路由器组建

 

(2)广域网:简称WAN,通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。广域网内部的 局域网都属于其子网。

2、网络通信

网络互连的目的是进行网络通信,也即是网络数据传输,更具体一点,是网络主机中的不同进程间,基于网络传输数据。 那么,在组建的网络中,如何判断到底是从哪台主机,将数据传输到那台主机呢?那就需要理解如下概念:

   IP地址

       IP 地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说, IP 地址用于定位主机 的网络地址 (就像我们要求快递员送东西一样,必须知道对方的地址,才可以将东西送至对对方家)。
       格式:IP 地址是一个 32 位的二进制数,通常被分割为 4 “8 位二进制数 (也就是4个字节)。例如:01100100.00000100.00000101.00000110 表示 100.4.5.6

      特殊IP:127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1。本机环回主要用于本机到本机的网络通信(系统内部为了性能,不会走网络的方式传输),对于开发网络通信的程序(即网络编程)而言,常见的开发方式都是本机到本机的网络通信。

   端口号

       在网络通信中, IP 地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。简单说:端口号用于定位主机中的进程 。(就像在知道收货人地址,还需要精准定位是那个人的姓名,才可以精准找到这个人)
       格式 端口号是 0~65535 范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数 据。
      注意:两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号。
提问:当我们知道目标的IP地址和端口号,该如何进行数据传输?基于网络数据传输,需要使用协议来规定双方的数据格式。

    协议

       协议,网络协议的简称,网络协议是网络通信(即网络数据传输) 经过的所有网络设备 都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。通常由三要素组成:
(1)语法:即数据与控制信息的结构或格式;
(2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
(3) 时序,即事件实现顺序的详细说明。
协议( protocol 最终体现为在网络上传输的数据包的格式。

    协议分层

       为什么需要网络协议的分层?
       分层最大的好处,类似于面向接口编程:定义好两层间的接口规范,让双方遵循这个规范来对接。在代码中,类似于定义好一个接口,一方为接口的实现类(提供方,提供服务),一方为接口的使用类 (使用方,使用服务):
       对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可
       对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可。
OSI 七层模型
  • OSI 七层网络模型是一个逻辑上的定义和规范:把网络从逻辑上分为了7层。
  • OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输;
  • 它的最大优点是将服务接口协议这三个概念明确地区分开来,概念清楚,理论也比较完整。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。

OSI 七层模型划分为以下七层:

OSI 七层模型既复杂又不实用:所以 OSI 七层模型没有落地、实现。
实际组建网络时,只是以 OSI 七层模型设计中的部分分层,也即是以下 TCP/IP 五层(或四层)模型来实现。
TCP/IP 五层(或四层)模型
    TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇。
    TCP/IP 通讯协议采用了 5 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
  • 应用层:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。
  • 传输层:负责两台主机之间的数据传输。如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机。
  • 网络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。
  • 数据链路层:负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网,无线LAN等标准。交换机(Switch)工作在数据链路层。
  • 物理层:负责光/电信号的传递方式。比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同 轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。

TCP/IP模块与OSI 七层模型对比

 

     封装和分用

  • 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。
  • 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装 (Encapsulation)。
  • 首部信息中包含了一些类似于首部有多长,载荷(payload)有多长,上层协议是什么等信息。
  • 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中 的 "上层协议字段" 将数据交给对应的上层协议处理。

 数据的封装过程(类似于将快递打包,一层一层进行包好):

 数据的分用(类似于拆快递,一层一层分开,得到想要的数据):

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值