计算机网络
一、 计算机网络的历史
第一代:50年代中至60年代初,以单计算机为中心的联机系统
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RFBa03Vb-1627961186541)(/Users/acetian/Library/Application Support/typora-user-images/image-20210728160224635.png)]
在计算机内部增加了通信功能,把远程的输入输出设备通过通信线路直接和计算机的主机相连,用户在终端输入信息的同时,主机也能处理信息,最后再将处理的结果通过通信线路回送给远程用户
第二代:60年代中至70年代初。计算机与计算机互联网络:主机既做数据处理,又做通信,出现不同的网络体系结构的模型。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hdzwFtYS-1627961186557)(/Users/acetian/Library/Application Support/typora-user-images/image-20210728161731992.png)]
第三代:70年代中至80年代末,计算机网络进入标准化发展
-
ARPANET的标准协议:
- 用于计算机之间的数据传输;
- 能够连接不同类型的计算机;
- 所有的网络结点都同等重要;
- 必须有冗余的路由;
- 网络结构尽可能地简单,但能非常可靠地传送数据。
由于技术上的不足,使得具有相同厂家,相同型号的计算机之间可以进行数据通信,但是不同厂家,不同型号的计算机无法进行数据通信。 -
TCP/IP协议
- 正是由于TCP/IP网络通信协议的出现,使得不同计算机之间得以实现数据通信,为计算机网络的进一步发展奠定了基础。
- 基于TCP/IP的4.2 BSD(Unix系统)
- 不同网络之间的通信
-
ISO的OSI/RM规范
第四代:(90年代至今)国际化的互联网的诞生与发展
由于ARPANET网络的维护费用日以高昂,把ARPANET分成了两个网络:MILNET(军网),ARPANET(民网)
- 1990年,由NSF将ARPANET民网改名为Internet,随后很多公司、企业加入
- WWW概念提出
- Mosaic的WWW客户程序
- PPP使得家庭用户可方便访问Internet
二、OSI/RM模型
简介:
1984年,ISO推出因特网的协议规范OSI/RM(Open Systems Interconnection/Reference Model)
ISO:国际标准化组织
OSI/RM:开放系统互连参考模型
为开放式互连信息系统提供了一种功能结构的框架
OSI/RM模型结构:
- 应用层 Application
- 表示层 Presentation
- 会话层 Session
- 传输层 Transport
- 网络层 Network
- 数据链路层 Data Link
- 物理层 Physical
-
物理层:只负责传输0 1 二进制比特流 功能:
- 为数据链路层提供服务,从数据链路层接收数据,并按规定形式的信号和格式将数据发送。
- 向数据链路层提供数据(把比特流还原为数据链路层可以理解的格式)
-
数据链路层:负责将上层数据封装成帧 帧:数据链路层完成从物理层到网络层的过度、准备工作 功能:
- 传输管理:为网络层提供低出错率、高可靠性的数据链路
- 流量控制:协调主机和通信设备之间的数据传输率
-
网络层:负责路由寻址和广播 功能:
- 路由选择与中断
- 控制分组传送系统的操作
- 控制流量,以防网络过于拥挤
- 建立和撤销网络连接
- 根据传输层的要求来选择服务
-
传输层: 负责建立一个可靠的端到端的链接,包括数据核对和初步整理。 功能:
- 建立、维护和撤销传输连接——端到端的连接
- 控制流量,差错控制(使高层收到的数据几乎完整无差错)
- 选择合适的网络层服务以实现其功能
- 提供数据的编号、排序拼接以及重同步功能
-
会话层:负责建立维护拆除会话,为端系统的应用程序之间提供了对话控制机制。 数据传输的“中间商”角色,负责数据传输的“售后服务”。 功能:
- 提供两进程之间建立、维护和结束会话连接的功能
- 管理会话
- 同步数据
注意:传输层和会话层一般结合使用 -
表示层:表示数据形式,完成对传输数据的转化 功能:
- 代表应用层协商数据表示
- 完成对传输数据的转化,如格式化、加/解密、压缩/解压
-
应用层:所有应用程序的网络在此展开,确定进程之间通信的性质,以满足用户的需要。 功能:
- 提供OSI用户服务,如事务处理、文件传输、数据检索、网络管理、加密。
计算机网络体系结构通信原理包括两方面:
一是数据通信原理
二是对等会话原理
-
数据通信原理 发送端自上而下传输(直到物理层),接收端自下而上传输(直到发送端发起通信的层次) -
对等会话原理 发送端和接收端只有在对等层才可以进行通信,不同层次传输的数据格式不一样:
- 应用层、表示层和会话层以报文方式传输
- 传输层以报文或者报文分段方式传输
- 网络层以分组方式传输
- 数据链路层以帧方式传输
- 物理层以比特流方式传输
发送端每经过一层(物理层除外)都要在原数据上进行协议封装,即最前面加装一个本层所使用协议的协议头;接收端每经过一层都要对原数据进行协议解封装,即去掉原数据最前面的上层协议头 OSI/RM数据通信原理图 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2KUysSWm-1627961186561)(/Users/acetian/Library/Application Support/typora-user-images/image-20210729165334481.png)]
三、TCP/IP简介
TCP/IP概述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nRaplfUy-1627961186567)(/Users/acetian/Library/Application Support/typora-user-images/image-20210729170040896.png)]
网络接口层
功能
-
在物理连接(网线和电脑之间)之上,实现逻辑链路(用到的协议)的连接(拨号连接) -
接口卡(网卡):具有物理地址,即MAC地址 -
SLIP(Serial line Internet Protocol)协议
- 在串行线路上封装IP数据报
- 用于拨号连接
- 缺点:没有差错校验机制
-
差错校验机制:每一端必须知道对方的IP地址,没有办法把本端的IP地址通知给另一端;如果一条串行线路用于SLIP,那么它不能同时使用其他协议。 -
数据报:通过网络传输的数据的基本单元,它携带了要从计算机传递到目的的计算机信息。 -
数据包:是TCP/IP协议通信传输中的数据单位,单个信息被划分为多个数据块,这些数据块被称为包。 -
路由:路由器从一个接口上接收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。 -
PPP(Point to Point Protocol)协议
- 用于串行与并行线路上的拨号连接
- 解决SLIP存在的问题
-
ARP(Address Resolution Protocol)协议 是根据IP地址获取物理地址的一个TCP/IP协议。
-
RARP(Reverse Address Resolution Protocol)协议 MAC到IP地址
IP地址与MAC地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zsaM9j18-1627961186569)(/Users/acetian/Library/Application Support/typora-user-images/image-20210730164850619.png)]
网络互联层
TCP/IP网络互联层
TCMP:在主机与路由器之间传递控制信息。ICMP协议是一种面相无连接的协议,用于传输出错报告控制信息。
它是一个非常重要的协议,它对于网络安全 具有极其重要的意义。
ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。
我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。
传输层
- 建立应用间的端到端连接
- 面向连接:会话建立、数据传输、会话拆除
- 无连接:不保证数据的有序到达
- TCP(Transmission Control Protocol)传输控制协议
- UDP(User Datagram Protocol)用户数据报协议
端口号
端口是通过端口号来标记的,端口号只有整数,范围是从0到65535
端口有什么用呢?
- 一台拥有IP地址的主机可以提供许多服务,这些服务完全可以通过1个IP地址来实现。
主机是怎么区分不同的网络服务呢?
- 显然不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。
服务器一般都是通过知名端口号来识别的。netstat -a -n
TCP/IP应用层
应用层
主要负责用户和应用程序之间的通信。协调设备和软件的多样性问题;解决系统中文传输问题。
以下是常见的应用协议:
FTP:文件传输协议
HTTP:超文本传输协议
DNS:域名系统
Telnet:远程终端协议
IMAP:Internet邮件访问协议
POP3:邮局协议版本3
常见相关协议缩写
- TCP:Transmission Control Protocol
- IP:Internet Protocol
- FTP:File Transfer Protocol
- ARP:Address Resolution Protocol
- RARP:Reverse Address Resolution Protocol
- UDP:User Datagram Protocol
- HTTP:Hypertext Transfer Protocol
- ICMP:Internet Control Message Protocol
- POP3:Post Offfice Protocol version3
- IMAP:Internet Mail Access Protocol
- PPP:Point to Point Protocol
- SLIP:Serial Line Internet Protocol
四、IP地址
IP地址相关知识
IP地址的特点?
IP类型
每个地址包含两部分:网络和主机。IP地址中网络部分可以说明该设备是否属于A类、B类、C类、D类或E类网。
网络类 | 最高位 | 网络id | 网络数 | 主机数 | 网络号范围 |
---|
A类 | 0 | 8位 | 126 | 16777214 | 1~127 | B类 | 10 | 16位 | 16384 | 65534 | 128~191 | C类 | 110 | 24位 | 2097152 | 254 | 192~223 | D类 | 1110 | | | 广播地址 | | E类 | 1111 | | | 保留试验 | |
保留地址
子网掩码
掩码
为什么要使用掩码技术
掩码技术的实现方式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HwjUL2SX-1627961186570)(/Users/acetian/Library/Application Support/typora-user-images/image-20210803103543084.png)]
使用子网掩码是为了要区分一个IP地址中的网络地址和主机地址。
子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。
子网掩码的特点
由连续的1和0构成
默认子网掩码:255.0.0.0 255.255.0.0 255.255.255.0
子网掩码中可以出现的数字:
0 128 192 224 240 248 252 254 255
关于IP地址的运算
逻辑运算:
与
或
非
判断两个IP地址是否在同一子网中
如何判断两个IP地址是否在同一个子网中
- 主机A:IP=61.48.167.25 子网掩码=255.255.255.192
- 主机B:IP=61.48.167.224 子网掩码=255.255.255.192
- 判断的步骤:
- 将IP地址和子网掩码转换成二进制
- 将IP地址和子网掩码按位进行与运算
- 得出子网号,判断是否相等
IP地址 and 子网掩码 = 网络ID
TCP/IP调试命令
Ipconfig
Ipconfig/all
displaydns:显示DNS客户解析缓存的内容
flushdns:刷新并重设 DNS 客户解析缓存的内容
DNS在进行解析的时候会生成缓存,以便下次访问同样域名时,加快速度。
|