博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络基础(一)
阅读量:4187 次
发布时间:2019-05-26

本文共 3059 字,大约阅读时间需要 10 分钟。

在学习网络基础之前,让我们先来了解一下什么是计算机网络。

什么是计算机网络?

计算机网络就是指将地理位置上分散的,功能上独立自治的计算机通过通信线路连接在一起,组成以资源共享和信息传递为目的的计算机系统。

从用户角度看,计算机网络是这样定义的:存在着一个能为用户自动管理的网络操作系统。由它调用完成用户所调用的资源,而整个网络像一个大的计算机系统一样,对用户是透明的。

1.计算机网络背景

网络发展:

独立模式:计算机之间相互独立
网络互联:多台计算机连接在一起,完成数据共享
局域网LAN:在某一区域内由多台计算机通过交换机和路由器互联成的计算机组。
广域网WAN:将远隔千里的计算机连在一起。它的作用物理范围范围大,一般可以从几十公里至几万公里。一个国家或国际间建立的网络都是广域网。
相关知识:
在局域网内,数据之间会发生干扰,称为数据碰撞,该碰撞区域被称为碰撞域。

交换机可将局域网划分成不同的碰撞域,工作在数据链入层,基本功能是数据转发,作用是减少碰撞域。

因特网:全球最大的互联网

ISP:因特网服务提供商

如何通过域名查ip: nslookup +网址

2.认识协议

所谓协议就是指相互的一种约定。

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

但需要注意的是,通信的两台主机约定好协议就可以传递不同的信息。由于计算机操作系统、网络硬件设备等的不同,要让这些不同厂商之间生产的计算机能够互相顺畅的通信,就需要有人站出来,约定一个共同的标准,大家都来遵守,这就是网络协议

网络协议初识:

由于在实际的计算机网络中,两个实体之间的通信情况非常复杂,为了降低通信协议实现的复杂性,所以将整个网络的通信功能分层描述,分层的最大优点在于“封装”,每层各自完一定的任务,而且功能相对独立,这样实现起来较容易。

分层的好处有:
一、灵活性好
当任何一层发生变化时,只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。当某层提供的服务不再需要时,甚至可以将这层取消,更容易管理。
二、各层之间是独立的
在各层间标准化接口,允许不同的产品只提供各层功能的一部分,某一层不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口所提供的服务。由于每一层只实现一种相对独立的功能,所以比较容易实现。

1、ISO/OSI七层模型:

OSI(Open System Interconnection )七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范。

把每一层从逻辑上分成了七层,每一层都有相对应的物理设备,比如路由器、交换机。
OSI模型是一种框架式的设计方法,其主要功能就是帮助不同类型的主机实现数据传输。
他最大的优点就是将服务,接口和协议这三个概念明确的区分开来,通过七层使不同的系统不同的网络之间实现可靠通讯。
这里写图片描述
物理层:表示电气特性,设备规范。在物理层传输的数据称之为比特流,传输数据的单位是bit。这一层的设备有网卡。

数据链路层:负责数据成帧,数据来源去向以及检测错误(CRC冗余监测码)。在数据链路层传输的数据单位是帧。这一层的设备有交换机。

能收到那些数据?发给自己的,广播数据,组播数据。
链路是指没有其他设备的一段线路。

网络层:地址管理和路由选择。选择最佳路径从源端将数据送到目的端,IP划分。这一层的设备是路由器,网络层传输数据的单位是数据包。负责将数据尽可能的送至目的地,但不保证一定送达。

经典协议:IP协议、ICMP协议

传输层:负责将数据交给具体的进程。通过端口识别数据传出给哪一个进程,但是传输层保证数据一定可靠送达。流量控制功能(机器之间的数据接受能力),拥塞控制(当前整个网络线路上的传输拥堵程度)。

经典协议:UDP协议、TCP协议

会话层:负责通信管理。负责建立连接和断开连接。管理传输层以下分层。

表示层:加密,压缩,改变字节序。负责设备固有格式和网络标准格式的转换。

应用层:凡是能够产生网络流量的进程都是应用层

2、TCP/IP五层模型:

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

这里写图片描述

(1)物理层:负责光/电信号的传递方式,比如现在以太网通用的网线、早期以太网采用的同轴电缆、光纤,现在的WiFi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等,集线器工作在物理层。

(2)数据链路层:负责数据之间的数据帧的传送和识别,例如网卡设备的驱动、帧同步、冲突检测、数据差错校验等工作,有以太网、令牌环网、无线LAN等标准。交换机工作在数据链路层。

(3)网络层IP:负责地址管理和路由选择,例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路。路由器工作在网络层。IP层屏蔽了底层实现细节。

(4)传输层TCP:负责两台主机之间的数据传输,如传输控制协议(TCP),能够确保数据可靠的从源主机发送到目标主机。

(5)应用层HTTP:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。

其中,物理层、数据链路层属于驱动与硬件,网络层、传输层属于操作系统内核,应用层属于应用程序。

物理层我们考虑的比较少,因此很多时候也可以称为TCP/IP四层模型。

一般而言(但不是绝对的):

对于一台主机,它的操作系统内核实现了从传输层到物理层的内容
对于一台路由器,它实现了从网络层到物理层
对于一台交换机,它实现了从数据链路层到物理层
对于集线器,他只实现了物理层

3.网络传输基本流程

TCP/IP通讯过程:

这里写图片描述
跨网段的主机的文件传输,数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。
在进行网络通信时,各层只能看到本层协议,称之为对等通信。

这里写图片描述

数据包封装和分用:

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。

应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation)。

首部信息中包含了一些类似于首部有多长,载荷(payload)有多长,上层协议是什么等信息。

数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的“上层协议字段”将数据交给对应的上层协议处理。

下图为数据封装的过程:

这里写图片描述

协议栈(Protocol Stack)是指网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。使用最广泛的是英特网协议栈,由上到下的协议分别是:应用层(HTTP,FTP,TFTP,TELNET,DNS,EMAIL等),运输层(TCP,UDP),网络层(IP),链路层(WI-FI,以太网,令牌环,FDDI,MAC等),物理层。

下图为数据分用的过程:

这里写图片描述
此外:
我们知道在网络边缘的端系统中运行的程序之间的通信方式通常为三大类:

  1. B/S(browser server )浏览器-服务器方式
  2. C/S(client server )客户-服务器方式
  3. P2P(point 2 point)对等连接方式
你可能感兴趣的文章
html 7.29
查看>>
Eclipse中编写jsp快速导包快捷键
查看>>
芯片封装类型图鉴[zz]
查看>>
11.使用boostregex遭遇无法打开libboost_regex-vc120-mt-sgd-1_62.lib的问题
查看>>
35.自己实现vector模板库myvector
查看>>
wxWidgets学习计划
查看>>
Lua_热更新
查看>>
【NOIP2006】【Luogu1060】开心的金明(01背包模板)
查看>>
【POJ2887】Big String(块状链表,模板)
查看>>
将WinServers2019打造成家用系统
查看>>
在Mac上使用vim的几个命令
查看>>
PHP Cookbook读书笔记 – 第22章正则表达式
查看>>
git配置用户名
查看>>
Callable和Future
查看>>
OGNL
查看>>
学习编程开发之数据结构与算法
查看>>
【英语好文】 The Gettysburg Address by Abraham Lincoln
查看>>
Boost_Any初步分析
查看>>
Redis 的理解和应用
查看>>
MySQL基本命令
查看>>