网络基础
什么是网络
- 网络:计算机网络是一组计算机或网络设备通过有形的线缆或无形的媒介如无线,连接起来,按照一定的规则,进行通信的集合。
- 计算机网络,按照地理位置可以划分为三类:局域网、城域网、广域网
局域网,LAN(Local Area Network),在较小的地理区域内建立的计算机网络。
城域网,MAN(Metropolitan Area Network),若干个局域网互相连接而成,适合于大都市的较大规模的计算机网络。
广域网,WAN(Wide Area Network),涉及几个城市、一个国家、各个国家一个的计算机网络。 - 网络通信:是指终端设备之间通过计算机网络进行的通信。
信息传播
虚拟的信息传递与真实的物品传递过程有许多相似之处
传播分为三种
单播 ———— 一对一传播
组播 ———— 一对一组/一群传播
广播 ———— 一对范围内所有目标传播
网络常见常用术语
1.IP地址互联网中每台计算机都有IP地址,相当于门牌号的作用,用于定位。IP = 网段号 + 主机号 。
2.子网掩码:确定子网范围,比如233.1.1.0/24指左边24bit定义子网地址。
3.端口:每个端口对应着一个进程。
4.物理拓扑:体现了设备之间的连接关系
5.APP:分为web和native,web app是不用进行安装的,而平常在app store里下载的都属于后者。
6.数据载荷:传递的实际信息
7.报文(PDU--协议数据单元)
8.数据头部的作用:区分应用程序、找到数据的接收者
9.数据尾部的作用:确保数据是完整的
10.mac地址:设备全球唯一编号
11.网关:转发不同网段的数据(离PC最近的三层交换机或者路由器)
## OSI七层结构与TCP/UDP协议
为什么分层
分层的意义:1、易于实现和标准化各层独立,就可以把大问题分割成多个小问题,利于实现; 2、灵活性好:如果某一层发生变化,只要接口不变,不会影响其他层; 3、分层后,用户只关心用到的应用层,其他层用户可以复用
层次划分的方法
- 网络的每层应当具有相对独立的功能(便于排错)这个功能用不了 必然是你这层处理问题
- 梳理功能之间的关系,使上一个功能可以实现为另一个功能提供必要的服务,从而形成系统的层次结构, 环环相扣(紧密联系)
- 为提高系统的工作效率,相同或相近的功能仅在一个层次中实现,而且尽可能在较高的层次中实现
- 每一层只为相邻的上一层提供服务
层次划分的优点
- 各层之间相互独立,每一层只实现一种相对独立的功能,使问题复杂程度降低,利于针对解决问题
- 灵活性好,各层内部的操作不会影响其他层
- 结构上可分割开,各层之间都可以采用最合适的技术来实现
- 易于实现和维护,因为整个系统已被分解成相对独立的子系统
- 能促进标准化工作,因为每一层的功能及其提供的服务都有了精确的说明
OSI七层模型
互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分为七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白哪一层是干什么用的。
七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
应用层 网络服务与最终用户的一个接口
表示层 数据的表示、安全、压缩
会话层 建立、管理、中止会话 (统称应用层)
传输层 定义传输数据的协议端口号,以及流控和差错校验
tcp (稳定速度较慢)确保能收到
udp (快不稳定)只管发不管收(mac地址,全球唯一)
协议: 使用不同的 协议,可以决定数据传输的 快慢,安全等
网络层 进行逻辑地址寻址,实现不同网络之间的路径选择
确定传给哪台主机, 选择传输的最佳路径 逻辑上的 p地址 进行选择
数据链路层 建立逻辑连接、进行硬件地址寻址、差错校验等功能
再次确认传输对象 检查传输的数据是否完整
物理层 建立、维护、断开物理连接 网线连在 一起进行 电流传输,统一了物理层设备的标准
只要在系统中打开一个程序,那么系统会随机分配一个 端口号 给应用程序 (qq软件) 端口号的作用:确定系统上的某一应用程序
服务端: 为他人提供服务
客户端: 需要别人提供服务
服务端: 端口是固定的 ,网页 80 iana 1024 固定 众所周知 65536 0-65535
nfs (随机) 交互 rpcbind( 固定)
客户端: 端口是随机的
传输层: 在发送数据的时候 通过 协议和端口号 来区分不同的 应用程序
OSI七层总结
应用层、表示层、会话层为高三层,是面向用户的
网络层、数据链路层、物理层为低三层,是面向硬件的
网络层及以下的通信为点到点通信(主机与主机)
传输层的通信为端到端(端口到端口)
TCP/IP 参考模型
TCP/IP是一个协议族,是因为TCP/IP协议包括TCP、IP、UDP、ICMP、RIP、TELNETFTP、SMTP、ARP、TFTP等许多协议,这些协议一起称为TCP/IP协议。通信类似于语言的沟通,可以把协议理解为语言沟通,大家都说中文,咱们两个人能够互相交流。
OSI参考模型与TCP/IP模型都采用了分层体系结构,将庞大而复杂的问题转化为着干个较小且易于处理的子问题。不同的是OSl参考模型划分7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP参考模型最多划分了5个层次,分别是物理层,数据链路层、网络层、传输层和应用层,将OSI参考模型中的高三层合并为一层统称应用层。在层次结构上,两者都采用了分层体系结构,但是TCP/IP参考模型比OSI参考模型更简化。
TCP/IP协议族的组成
| 模型层 | 协议 |
|---|---|
| 物理层 | IEEE802.3有线局域网(以太网) IEEE802.11无线局域网标准 |
| 数据链路层 | Point-to-Point Protocol |
| 网络层 | IP (ICMP IGMP ARP RARP) |
| 传输层 | TCP UDP |
| 应用层 | HTTP FTP TFTP SMTP SNMP DNS |
物理层:
IEEE802.3有线局域网(以太网)
IEEE802.11无线局域网标准
数据链路层:
点对点协议(Point-to-Point Protocol)PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。
网络层:
IP协议:(Internet Protocol,网际协议),而 IP 又由四个支撑协议 组成
- ARP(地址解析协议): 是将IP地址转换成物理mac地址 的协议
- RARP(逆地址解析协议): 是根据物理mac地址转换成IP地址的协议
- ICMP(网际控制报文协议):ping 网络连通性检测 检测网络连通性
- IGMP(网际组管理协议):一个组播协议,该协议运行在主机和组播路由器之间
传输层:
- TCP :传输控制协议 可靠协议 (安全性高,速度慢)
- UDP:用户数据报协议 不可靠协议(安全性不高,速度快)
应用层:
- HTTP(超文本传输协议):是一个简单的请求-响应协议,现在主要的场景是web服务,就是网页的传输,默认使用tcp的80端口 http
- HTTPs:是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,默认使用tcp的443端口 当当买书,
- FTP文件传输协议:FTP( File Transfer Protocol)提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限,默认使用tcp的20,21端口
- TFTP简单文件传输协议:是一个小而易于实现的文件传送协议,TFTP只支持文件传输,不支持交互,没有庞大的命令集。也没有目录列表功能,以及不能对用户进行身份鉴别,默认使用udp的69端口
- SNMP简单网络管理协议:是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,默认使用udp的161端口
- SMTP简单邮件传输协议:一组用于从源地址到目的地址传送邮件的规则,并且控制信件的中转方式,用于邮件的发送,默认使用tcp的25端口
- POP3邮局协议版本3:用于邮件的接收,默认使用tcp的110端口
- telnet远程登陆协议:一种字符模式的终端服务,可以使用户通过网络进入远程主机或网络设备,然后对远程主机或设备进行操作,默认使用tcp的23端口
- ssh安全的远程登陆协议,默认使用tcp的22端口ssh
- DNS 域名解析系统:将域名和IP地址相互映射,默认使用tcp和udp的53端口,ip地址 dns udp tcp 程序 进程: 运行中的程序0-65535
- DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,默认使用udp的67和68端口。分配ip地址。
单工,半双工和全双工有何区别和联系
单工数据传输只支持数据在一个方向上传输;在同一时间只有一方能接受或发送信息,不能实现双向通信,举例:电视,广播。
半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;在同一时间只可以有一方接受或发送信息,可以实现双向通信。举例:对讲机。
全双工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力;在同一时间可以同时接受和发送信息,实现双向通信,举例:电话通信。