目录
一、网络发展史
1、独立模式
2、局域网 LAN(Local Area Network)
3、广域网 WAN (Wide Area Network)
二、网络通信基础
1、IP地址:用于定位主机的网络地址
2、端口号:用于定位主机中的进程
3、网络协议
4、五元组
5、协议分层
作用
分类
1)OSI七层网络模型 Open System Interconnecttion,开放系统互连
2)TCP/IP五层模型
6、封装和分用
一、网络发展史
1、独立模式
计算机之间相互独立工作,每个终端A、B、C各自持有客户数据
网络互连:将多态计算机连接在一起,完成数据共享
数据共享的本质是网络数据传输,即计算机之间通过网络来传输数据(网络通信)
根据网络互联的规模不同,可以划分为局域网和广域网
2、局域网 LAN(Local Area Network)
Lock即标识了局域网是本地,局部组建的一种私有网络
局域网内的主机之间能方便地进行网络通信(内网);局域网和局域网之间在没有连接的情况下是无法通信的
局域网组件网络的方式很多种:
1)基于网线直连
2)基于集线器组建
3)基于交换机组建
4)基于路由器组建
4)基于交换机和路由器组建
(交换机可以扩展路由器的端口)
一般的家用路由器,常见的有5个网口,要想让这几个电脑在同一个局域网上网,就要把他们连接到Lan口,Wan口是用来连上级的路由器的
你知道交换机和路由器的区别吗? - 知乎
3、广域网 WAN (Wide Area Network)
通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网
广域网内部的局域网都属于其子网
如果有北、中、南等分公司,甚至海外分公司,把这些公司以专线方式连接起来,即称为”广域网“
如果属于全球化的公共型广域网,则称互联网(公网、外网),属于广域网的一个子集
有时在不严格的环境下,其实指的就是互联网
所谓”局域网“和”广域网“只是一个相对的概念
从游戏发展历程看 ”单机时代-局域网时代-广域网时代-移动互联网时代“:
1、星际争霸、红色警戒、流星蝴蝶剑--可以局域网对战
机房里的电脑连接到同一个路由器上,此时就构成了局域网,这些电脑彼此之间就能进行通信了
2、天龙八部、跑跑卡丁车、完美世界、魔兽世界--广域网对战
网游打破了局域网的限制,成就了广域网对战-“传奇”(网游系列的开山之作)“PK”
范围扩大到一个城市甚至国家、世界
当年最好的网游 Dota,LOL推向高潮
3、2007年,乔布斯发布第一代苹果手机-标志着移动互联网时代开启
2012,iphone4登场,小米手机登场,华为手机登场(安卓系登场)
移动互联网彻底拉开帷幕!
游戏从PC=>手机端(当下时代)
二、网络通信基础
1、IP地址:用于定位主机的网络地址
计算机中使用一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)
例如:01100100.00000100.00000101.00000110
通常用”点分十进制“的方式来表示,即 a.b.c.d 的形式,4个0~255之间的十进制整数
如100.4.5.6
特殊IP
127.*的 IP 地址用于本机环回 (loop back) 测试,通常是 127.0.0.1本机环回主要用于本机到本机的网络通信(系统内部为了性能,不会走网络的方式传输),对于开发网络通信的程序(即网络编程)而言,常见的开发方式都是本机到本机的网络通信。
2、端口号:用于定位主机中的进程
是一个0~65535的整数(2个字节),进程可以通过绑定一个端口号,来发送和接收网路数据
两个不同的进程不能绑定同一个端口号,但一个进程可以绑定多个端口号
3、网络协议
好比见网友,彼此协商胸口插支玫瑰花见面,之就是一种提前的约定,也可以称之为协议
协议(protocol)最终体现为在网络上传输的数据包的格式
IP地址和端口号可以定位到网络中唯一的一个进程,计算机之间的传输媒介是光信号和电信号,通过”频率“和”强弱“来表示1和0这样的信息
基于网络数据传输,要想传输各种不同的信息,就需要使用协议来规定双方的数据格式
计算机生厂商很多、计算机操作系统很多、计算机网络硬件设备很多、如何让这些不同厂商之间生产的计算机能够相互顺畅通信?就需要有人站出来约定一个共同的标准,大家都来遵守,这就是网络协议
网络通信经过的所有网络设备都必须共同遵守的一组约定、规则(如怎样建立、怎样互相识别等),只有遵守这个约定,计算机之间才能相互通信交流
知名协议的默认端口号
知名端口号:0~1023,这些端口号预留给服务器端程序绑定广泛使用的应用层协议,如:
- 22端口:预留给SSH服务器绑定SSH协议
- 21端口:预留给FTP服务器绑定FTP协议
- 23端口:预留给Talent服务器绑定Talent协议
- 80:HTTP
- 443:HTTPS
以上只是说明0~1023范围的知名端口号用于绑定知名协议,但某个服务器也可以使用其他1024~65535范围内的端口来绑定知名协议
4、五元组
在TCP/IP协议中,用五元组来标识一个网络通信:
源IP、源端口、目的IP、目的端口、协议号
可以在cmd中,输入netstat -ano查看网络传输中的五元组信息:
5、协议分层
对于网络协议来说,往往分成几个层次来进行定义
作用
-
复杂性降低:划分为多个层次,每个层次专注于特定的服务和功能,复杂程度降低,更易于理解和处理
-
灵活性增强:每一层协议都可以根据需要灵活替换,提高了可扩展性;排除故障时也只需关注该层;可以在不同层次之间引入各种机制来提高系统的可靠性,如差错控制和拥塞控制等
-
上层和下层彼此之间就进行了封装:使用上层协议不必过多关注下层;使用下层也如此;这也大大降低了使用方的成本
分类
1)OSI七层网络模型 Open System Interconnecttion,开放系统互连
仅仅出现在教科书中,既复杂又不实用,只是以OSI七层模型设计中的部分分层,也即是以下TCP/IP五层模型来实现
2)TCP/IP五层模型
TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇
TCP/IP通讯协议采用了5层的层次结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求
层 | 负责 | 重要协议 |
应用层 | 应用程序间沟通,数据具体如何使用 | SMTP(简单电子邮件传输)、FTP(文件传输协议)、Talent(网络远程访问协议)、HTTP/HTTPS(超文本传输协议)、DNS(域名系统协议)、NAT、NAPT 网络编程主要就是针对应用层 |
传输层 | 负责两台主机之间的数据传输 关注起点和终点 | TCP(传输控制协议)、UDP(用户数据报协议) |
网络层 | 负责地址管理和路由器选择 进行路径规划 | IP协议 路由器(Router)工作在网络层 |
数据链路层 | 负责设备之间的数据帧的传送和识别 关注相邻节点的转发 | 以太网、MTU、ARP协议 交换机(Switch)工作在数据链路层 |
物理层 | 负责光/电信号的传递形式 硬件设备 | 相关概念:以太网通用的网线(双绞线)、早期以太网采用的同轴电缆、光纤,现在的wifi无线网使用电磁波... 物理层的能力决定了最大传输率、传输距离、抗干扰性 集线器(Hub)工作在物理层 |
操作系统的内核.(传输层和网络层)(这里的内容是现成的,不需要咱们手动去实现);
硬件厂商搞了个硬件,都会提供对应的驱动,有了驱动,才能够让系统很好的来操作这个硬件。
经典面试题:
1、对于一台主机,他的操作系统内核实现了5层内容
2、对于一台路由器,它实现了从网络层到物理层,也是TCP/IP五层模型模型的下三层
3、对于一台交换机,他实现了从数据链路层到物理层(下两层)
4、集线器,只实现了物理层
实际上现在的路由器和交换机贡藕功能越来越强大了,甚至一些高端的交换价也有路由功能;另一方面,路由器交换机可能还会支持一些更复杂的操作,甚至可能会工作在传输层或应用层
6、封装和分用
(描述了网络通信过程中基本的数据传输流程)
进行封装的过程也就是给数据添加更多“辅助信息”的过程
好比快递运送时也要打包,而且可能是需要多层包装,打包就可以在上面贴标签,这样一层层包装就可以保护要传输的内容不被破坏
举个例子:A通过QQ把”hello"发送给B
这个真是有些太抽象了....过段时间再来进行修改补充...!