1、网络模型
OSI七层
OSI七层模型是一种框架性的设计方法,设计的主要目的是为了解决异种网络互联时遇到的兼容问题,主要功能就是帮助不同类型的主机实现数据传输。最大优点是将服务,协议,接口三者明确的区分开来,通过七个层次化的结构模型使得不同的主机不同的网络之间实现可靠的通讯。
服务说明下一层为上一层提供什么功能,接口说明上一层如何实现下一层提供的服务,协议涉及本层如何实现自己的服务。
优点:
1.发生故障易排除。
2.各层各自定义标准接口,使得相同等级的对应层之间的不同网络设备实现互操作。
3.技术更新可在小范围内进行,不必对整个网络更新。
分层的主要好处有:
1、各层之间是独立的,每一层向上和向下通过层间接口提供服务,无需暴露内部实现
2、灵活性好
3、结构上可分割
4、易于实现和维护
5、能促进标准化工作
功能 | 传输 | 设备 | 协议 | |
---|---|---|---|---|
物理层 | 确定与传输媒体的接口的一些特性(机械特性、电气特性、功能特性,过程特性),利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。 | bit | 光纤,双绞线,中继器, 集线器,⽹线接⼝ | IEEE 802.1A、IEEE 802.2 |
数据链路层 | 定义数据的基本格式,如何传输,如何标识;实现相邻两节点之间的通信,完成封装成帧,物理寻址、差错控制、流量控制,实现在不可靠的物理介质上的可靠传输。 分为两个子层:逻辑链路控制(LLC)、子层和介质访问控制(MAC) |
frame | 网桥,⼆层交换机 | ARP、MAC、 FDDI、Ethernet、 Arpanet、PPP、PDN |
网络层 | 完成异构网络互联,路由选择与分组转发,拥塞控制,实现主机与主机之间的通信。 | 数据包 packets | 路由器、三层交换机 | IP、ICMP、ARP、RARP |
传输层 | 实现端到端的通信,即主机中进程之间的通信,将上层数据分段并提供端到端的、可靠的或不可靠的传输,还进行差错控制和流量控制。 | 报文段Segment/Datagram | 四层交换机 | TCP UDP |
会话层 | 负责建立、管理和终止进程之间的通信会话。提供单工,双工,全双工三种通信方式。 | SQL RPC | ||
表示层 | 使通信的应用程序能够解释交换数据的含义,数据表示、加密和压缩。例如图像、视频编码解码,数据加密。 | ASCII JPEG | ||
应用层 | 定义了应用进程之间的交互规则,通过不同的应用层协议为不同的网络应用提供服务。 | 报文 | DNS FTP TFTP SMTP DHCP HTTP TELNET |
TCP/IP四层协议
网络接口层 | 实现了网卡接口的网络驱动程序,以处理数据在物理媒介(比如以太网、令牌环等)上的传输。 | |
网际层IP | 数据包的选路和转发 | |
传输层 | 为两台主机上的应用程序提供端到端(end to end)的通信 | |
应用层 | 负责处理应用程序的逻辑。 |
Internet五层协议
物理层 | 在物理传输介质上透明地传送原始比特流。定义接口和介质的物理特性,表示比特,并进行同步,定义数据速率 | 在相邻两个结点之间传输帧中的位。 |
数据链路层 | 将比特流组成帧,并将帧从一个结点传输到相邻的下一结点。进行分帧,物理寻址、流量控制、差错控制、访问控制。 | 在相邻两个结点之间传输帧 , |
网络层 | 把数据报从发送主机跨网络传输到目的主机,实现网络互联。进行逻辑寻址、路由选择。 | 在主机与主机之间传输数据报, |
传输层 | 实现发送主机某一进程与目的主机某一进程之间的数据传输。进行端口寻址、数据包的分割与重组,连接控制,流量控制,和差错控制。 | 在进程与进程之间传输数据段 |
应用层 | 面向网络应用系统,支持各种应用程序,为其提供各种网络传输服务。 |
- 网络七层模型是一个标准,而非实现。
- 网络四层模型是一个实现的应用模型。
-
为什么有这三种?
OSI7层模型大而全,但是比较复杂、而且是先有了理论模型,没有实际应用。
- TCP/IP四层模型,是由实际应用发展总结出来的,TCP/IP(参考)模型侧重一些核心的协议的分层。
- OSI定义了服务、接口、分层、协议的概念
- OSI先有模型,后有协议,先有标准,后进行实践,而TCP/IP则相反。
- OSI是一种理论模型,而TCI/IP已经被广泛使用,成为网络互连实际上的标准
- 5层模型只出现在计算机网络学习教学过程中,他是对七层模型和四层模型的一个折中,及综合了OSI和TCP/IP 体系结构的优点,这样既简洁又能将概念阐述清楚。
优缺点
OSI参考模型的优点是性质相似的工作划分在同一层,性质相异的工作则划分到不同层。如此一来,每一层所负责的工作范围,都区分得很清楚,彼此不会重叠。万一出了问题,很容易判断是哪一层没做好,就应该先改善该层的工作,不至于无从着手。
OSI参考模型的缺点是将“服务”与“协议”的定义相结合,使得参考模型变得格外复杂,实现起来更加困难。寻址、流量与差错控制在每层中重复出现,必然要降低系统效率。数据安全性、加密与网络管理等方面的问题也在参考模型的设计初期被忽略。
TCP/IP模型的优点是能够提供面向连接和无连接两种通信服务机制。
TCP/IP模型的缺点是没有明显地区分服务、接口和协议的概念。因此,对于使用新技术来设计新网络,TCP/IP模型不是一个太好的模板。TCP/IP模型完全不是通用的,并且不适合描述除TCP/IP模型之外的任何协议栈。
扩展资料:
OSI参考模型与TCP/IP参考模型的传输层功能基本相似,都是负责为用户提供真正的端对端的通信服务,也对高层屏蔽了底层网络的实现细节。所不同的是TCP/IP参考模型的传输层是建立在网络互联层基础之上的,而网络互联层只提供无连接的网络服务。
所以面向连接的功能完全在TCP协议中实现,当然TCP/IP的传输层还提供无连接的服务,如UDP;相反OSI参考模型的传输层是建立在网络层基础之上的,网络层既提供面向连接的服务,又提供无连接的服务,但传输层只提供面向连接的服务。2、集线器、交换机、路由器的区别
路由器:(Router)是连接因特网中各局域网、广域网的设备。在路由器中记录着路由表,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。发生在网络层。
交换机:(Switch)是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路,把传输的信息送到符合要求的相应路由上。发生在数据链路层。
集线器:(Hub)是指将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备。发生在物理层。
工作在 | 转发依据 | 功能 | 宽带影响 | 数据传输 | 传输模式 | |
---|---|---|---|---|---|---|
集线器 | 物理层 | 共享 | 广播发送 | 半双工 | ||
交换机 | 数据链路层 | Mac地址 | 连接局域网中的电脑 | 独享宽带 | 有目的发送 | 全双工或半双工 |
路由器 | 网络层 | IP地址 | 连接不同的网络 | 共享宽带 |
交换机适合局域网内互联,路由器实现全网段互联。
路由器是连接不同的网段的,负责将局域网连接到广域网和互联网中,并找到网络中数据传输最合适的路径。大家通过同一个路由器上网共用一个宽带,上网要相互影响。
简单的说路由器专管入网,交换机只管配送,路由就是给你找路让你上网的,交换机只负责开门,交换机上面要没有路由你是上不了网的。
3、数据链路层常见协议
ARP 地址解析协议 根据IP地址获取物理地址
RARP 反向地址 转换协议 根据物理地址获取IP地址
PPP 点对点协议 主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主 机、网桥和路由器之间简单连接的一种共通的解决方案.
4、网络层常见协议?可以说一下吗?
协议 | 名称 | 作用 |
---|---|---|
IP | 网际协议 | IP协议不但定义了数据传输时的基本单元和格式,还定义了数据报的递交方法和路由选择 |
ICMP | Internet控制报文协议 | ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况﹐也能确保连线的准确性,是ping和traceroute的工作协议 |
RIP | 路由信息协议 | 使用“跳数”(即metric)来衡量到达目标地址的路由距离 |
IGMP | Internet组管理协议 | 用于实现组播、广播等通信 |
5、端口有效范围是多少到多少?
0-65535。0-1023为知名端口号,比如其中HTTP是80,FTP是20(数据端口)、21(控制端口)
,UDP和TCP报头使用两个字节存放端口号,动态端口的范围是从1024到65535
6、应用层常见协议
协议 | 名称 | 端口 | 底层协议 |
---|---|---|---|
HTTP | 80 | TCP | |
HTTPS | 443 | TCP | |
Telnet | 23 | TCP | |
FTP | 20传输(数据端口) 21连接(控制端口) |
TCP | |
TFTP | 简单文件传输协议 | 69 | UDP |
SMTP | 简单邮件传输协议(发送用) | 25 | TCP |
POP3 | 邮局协议(接收用) | 110 | TCP |
DNS | 为什么 DNS 协议使用 UDP?只使用了 UDP 吗? | 53 | 服务器间进行域传输的时候用TCP;(主从服务器) 客户端查询DNS服务器时用 UDP |
邮件协议
邮件的发送和接收过程——STMP、POP、IMAP、MIME。
电子邮件发送协议 是一种基于“ 推 ”的协议,主要包括 SMTP ; 邮件接收协议 则是一种基于“ 拉 ”的协议,主要包括 POP协议 和 IMAP协议 。
IMAP(Internet Message Access Protocol)
目前的版本为IMAP4,是POP3的一种替代协议,,提供了邮件检索和邮件处理的新功能。
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一种提供可靠且有效电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供与来信有关的通知。
SMTP是工作在两种情况下:一、电子邮件从客户端传输到服务器;二、从某一个服务器传输到另一个服务器。SMTP也是一个请求/响应协议,命令和响应都是基于ASCⅡ文本,并以CR和LF符结束。响应包括一个标识返回状态的三位数字代码。SMTP在TCP协议25号端口监听连续请求。
连结和发送过程如下:
(1)建立TCP连结。
(2)客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令;服务器端以OK作为响应,表明准备接收。
(3)客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行;服务器端则表示是否愿意为收件人接收邮件。
(4)协商结束,发送邮件,用命令DATA发送。
(5)以“.”号表示结束输入内容并发送出去,结束此次发送,用QUIT命令退出。
MIME
MIME协议( Multipurpose Internet Mail Extensions ),通用因特网邮件扩充协议 ,作为SMTP的一种辅助协议,其引入是为了克服SMTP的如下不足:
1.SMTP只能发送使用NVT( 虚拟网络终端 ) 7位ASCII码格式的报文,它不能使用NVT 7位ASCII码不支持的语言(如汉语,日语,德语等)。
2.SMTP不能传送可执行文件或其他二进制对象(如图像文件)。
3.SMTP不支持音频或视频文件。
4.SMTP发送的邮件的长度受到限制。
为了克服以上的不足,便引入了MIME协议,MIME协议是一种扩展协议性的辅助协议,“扩充”指的是只是对原来协议的扩展,而不是取代。它允许非ASCII码数据能够通过电子邮件传送。MIME在发送方把非ASCII码数据转换为NVT ASCII数据,之后的工作再交给SMTP完成,在接收方再将NVT ASCII数据还原成原来的数据。
7、MTU和MSS分别是什么?
MTU:maximum transmission unit,最大传输单元,由硬件规定,如以太网的MTU为1500字节。
MSS:maximum segment size,最大分节大小,为TCP数据包每次传输的最大数据分段大小,一般由发送端向对端TCP通知对端在每个分节中能发送的最大TCP数据。MSS值为MTU值减去IPv4 Header(20Byte)和TCP header(20 Byte)得到。
8、如何区分LAN,WAN,WLAN ,VLAN 和VPN?
局域网LAN
几座办公楼用网线、或光纤连在一起就是局域网,距离相对短。
局域网包含两个部分:
有线局域网 Wired Local Area Network
无线局域网 Wireless Local Area Network
广域网WAN
无线局域网技术为WLAN(Wireless Local Area Network)。传输距离长,如超过1000KM。
虚拟局域网VLAN
在交换机上将相同的网段的主机放在一个VLAN,一个VLAN对应一个广播域。
虚拟私有网络VPN
广域网专线成本高。
网关出加/解密
9、URI和 URL之间的区别
URL,即统一资源定位符 (Uniform Resource Locator ),URL 其实就是我们平时上网时输入的网址,它标识一个互联网资源,并指定对其进行操作或获取该资源的方法。例如 https://leetcode-cn.com/problemset/all/ 这个 URL,标识一个特定资源并表示该资源的某种形式是可以通过 HTTP 协议从相应位置获得。
而 URI 则是统一资源标识符,URL 是 URI 的一个子集,两者都定义了资源是什么,而 URL 还定义了如何能访问到该资源。URI 是一种语义上的抽象概念,可以是绝对的,也可以是相对的,而URL则必须提供足够的信息来定位,是绝对的。简单地说,只要能唯一标识资源的就是 URI,在 URI 的基础上给出其资源的访问方式的就是 URL。
10、forward 和 redirect 的区别?
Forward 和 Redirect 代表了两种请求转发方式:直接转发和间接转发。
直接转发方式(Forward):客户端和浏览器只发出一次请求,Servlet、HTML、JSP 或其它信息资源,由第二个信息资源响应该请求,在请求对象 request 中,保存的对象对于每个信息资源是共享的。
间接转发方式(Redirect):实际是两次 HTTP 请求,服务器端在响应第一次请求的时候,让浏览器再向另外一个 URL 发出请求,从而达到转发的目的。