『网络』网络的简单介绍

网络的发展

  • 最开始,计算机以单机模式被广泛使用(这种方式也叫独立模式)。
    在这里插入图片描述
  • 随着计算机的不断发展,人们已经不再局限于单机模式,而是将一个个计算机连接在一起,形成一个计算机网络连接多台计算机可以实现信息共享
    在这里插入图片描述
  • 计算机网络,根据其规模可分为WAN(Wide Area Network,广域网)和LAN(Local Area Network,局域网)所谓"局域网"和"广域网"只是一个相对的概念
    在这里插入图片描述
    在这里插入图片描述

网络协议

什么是协议

我们举一个简单的例子,有三个人A、B、C。A只会说汉语、B只会说英语、C既会说汉语也会说英语
现在A与B之间要聊天要如何沟通呢?A与C聊天又如何沟通呢?这时候我们:

  • 将汉语和英语当做"协议"
  • 将聊天当做通信
  • 将说话的内容当做数据

那么A与B之间语言不通,所以双方都无法将数据传递给对方
A与C之间沟通,两人都用汉语这个"协议"就能够顺利沟通。也就是说A与C为了顺利沟通,采用同一种协议,使得他们之间能够传递所期望的数据
在这里插入图片描述
计算机与计算机之间通过网络进行通信时,也可以认为是依据类似于人类"语言"实现了互相通信
计算机通信中,事先达成一个详细的约定,并遵循这一约定进行处理尤为重要。这种约定其实就是"协议"

协议分层

我们还是看刚才的例子
在这里插入图片描述
上面打电话的例子,我们的协议只有两层;但是实际的网络通信会更加复杂,需要分更多的层次协议分层,就是一种协议封装

协议分层的优点

  • 各层次之间相互独立某一层不需要知道它的上一层或下一层是如何实现的,仅仅需要知道该层通过层间的接口所提供的服务。这样,整个问题的复杂程度就下降了。也就是说上一层的工作如何并不影响下一层的工作,这样我们在进行每一层的工作涉及时只要保证接口不变,就可以随意调整整层内的工作方式
  • 灵活性好。当任何一层发生变化时只要层间接口关系保持不变,则在这层以上或以下层均不受影响。当一层出现技术革新或者某一层在工作中出现问题时不会连累到其他层的工作,排除问题时也只需要考虑这一层单独的问题即可。
  • 结构上可分割开各层都可以采用最合适的技术来实现。技术的发展往往是不均衡的,层次化的划分可以有效的避免木桶效应,不会因为某一方面技术的不完善而影响整体的工作效率。
  • 易于实现和维护。这种结构使得实现和调试一个庞大又复杂的系统变得易于处理,因为整个系统已经被分解为若干个相对独立的子系统。进行调试和维护时,可以对每一层进行单独的调试,避免了出现找不到、解决错问题的情况。
  • 促进标准化工作。因为每一层的功能及所提供的服务都已有了精确的说明。标准化的好处就是可以随意替换其中的一层,对于使用和科研来说十分方便。

OSI七层模型

七层模型,亦称OSI(Open System Interconnection),开放式系统互连通信参考模型。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互连的标准体系,一般称为OSI参考模型或七层模型。

应用层网络服务与最终用户的一个借口。协议有:HTTP、FTP、TFTP、SMTP、SNMP、DNS、TELNET、HTTP3、POP3、DHCP。
表示层数据的表示、安全、压缩。(在五层模型中已经合并到了应用层)。格式有:JPEG、ASCII、DECOIC、加密格式等。
会话层建立、管理、终止会话。(在五层模型中已经合并到了应用层)。对应主机进程,指本地主机与远程主机正在进行的会话。
传输层定义传输数据的协议端口号,以及流控和差错校验。协议有:TCP、UDP,数据包一旦离开网卡即进入网络传输层。
网络层进行逻辑地址寻址,实现不同网络之间的路径选择。协议有:ICMP、IGMP、IP(IPV4、IPV6)、ARP、RARP。
数据链路层建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议)。将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
物理层建立、维护、断开物理连接。(由底层网络定义协议)。

TCP/IP五层模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议族。TCP/TP通讯协议采用了五层的层级结构每一层都呼叫它的下一层所提供的网络来完成自己的需求
在这里插入图片描述
物理层我们考虑的较少,有时候也叫TCP/IP四层模型,将物理层和数据链路层看做一层。

  • 应用层负责应用程序间的沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等,我们的网络编程主要就是针对应用层
  • 传输层负责两台主机之间的数据传输。如传输控制协议(TCP),能够确保数据可靠的从源主机发送到目标主机。
  • 网络层负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器工作在网络层
  • 数据链路层负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网、无线LAN等标准交换机(Switch)工作在数据链路层
  • 物理层负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采用的同轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层

一般而言,对于一台主机,它的操作系统内核实现了从传输层到物理层的内容;对于一台路由器,它实现了从网络层到物理层;对于一台交换机,它实现了从数据链路层到物理层;对于集线器,它只实现了物理层但是并不绝对很多交换机也实现了网络层的转发;很多路由器也实现了部分传输层的内容(比如端口转发)

网络中的地址管理

IP地址

IP协议有两个版本,IPV4和IPV6

  • IP地址是在IP协议中,用来标识网络中不同主机的地址
  • 对于IPV4来说,IP地址是一个4字节,32位的整数(uint32_t);能表示的主机数量有限,大概为42亿9000万台。这显然是不够用的,所以推出了IPV6,但是IPV6不兼容IPV4,所以IPV6的推广一直比较困难。IPV6是一个16字节,128位的整数(uchar ip[16]),可以表示2128主机。
  • 通常也使用点分十进制的字符串表示IP地址,例如192.168.1.1;用点分割的每一个数字表示一个字节范围是0~255
  • 为解决IPV4地址不够用的问题,还诞生了两个技术。DHCP:因为同一时间并不是所有人都在上网,所以谁上网就给谁分配IP地址动态地址分配技术NAT地址替换计数,实现多人使用同一地址上网

MAC地址

  • MAC地址用来识别数据链路层中相连的结点
  • 长度为48位,即6个字节。一般用16进制数字加上冒号的形式来表示(例如:08:00:27:03:fb:19)。
  • 网卡出厂时就确定了,不能修改MAC地址通常是唯一的虚拟机中的MAC地址不是真实的地址,可能会冲突;也有一些网卡支持用户配置MAC地址)。

网络传输的基本流程

数据封装过程

在这里插入图片描述

数据分用过程

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值