文章目录
OSI、TCP/IP、五层协议的体系结构及各层功能?
OSI七层:物理层、数据链路层、网络层、运输层、会话层、表示层、应用层
TCP/IP四层:网络接口层、网际层、运输层、应用层
五层:物理层、数据链路层、网络层、运输层、应用层
OSI各层功能如下:
- 物理层:利用传输介质为通信的网络结点之间建立、管理和释放物理连接,实现比特流的透明传输,为数据链路层提供数据传输服务。(比特bit/中继器,集线器,网线)
- 数据链路层:在物理层提供的比特流的基础上,在通信的实体间建立数据链路连接,并采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路。(帧frame/交换机,网桥,网卡)
- 网络层:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。(数据包packet/路由器,防火墙,多层交换机)
- 运输层:向用户提供可靠的、端到端的差错和流量控制,保证报文的正确传输。(数据段segment/网关)
- 会话层:组织和协调两个会话进程之间的通信,并对数据交换进行管理。(会话层协议数据单元SPDU)
- 表示层:处理用户信息的表示问题,如编码、数据格式转换和加密解密,并按照一定的格式传送给会话层。(表示层协议数据单元PPDU)
- 应用层:直接向用户提供服务,完成用户希望在网络上完成的各种工作。(应用层协议数据单元APDU)
由于OSI是一个理想的模型,因此一般网络系统只涉及其中的几层,很少有系统能够具有所有的7层,并完全遵循它的规定。从网络功能的角度观察:
下面4层(物理层、数据链路层、网络层和运输层)主要提供数据传输和交换功能,即以节点到节点之间的通信为主;
第4层运输层作为上下两部分的桥梁,是整个网络体系结构中最关键的部分;
上3层(会话层、表示层和应用层)则以提供用户与应用程序之间的信息和数据处理功能为主。
简而言之,下4层主要完成通信子网的功能,上3层主要完成资源子网的功能。
TCP/IP各层功能如下:
- 网络接口层:负责监视数据在主机和网络之间的交换。(串行线路网际协议SLIP、点对点协议PPP)
- 网际层:负责将源主机的报文分组发送到目的主机。(网际协议IP、互联网组管理协议IGMP、互联网控制报文协议ICMP、地址解析协议ARP)
- 运输层:负责在应用进程之间建立端对端通信。(传输控制协议TCP、用户数据报协议UDP)
- 应用层:负责处理特定的应用程序细节。(域名系统DNS、文件传输协议FTP、远程登录协议Telnet、超文本传输协议HTTP、简单邮件传送协议SMTP)
OSI参考模型中数据封装及解封装的基本过程?
如图所示,当一台主机需要传送用户的数据(DATA)时,数据首先进入应用层,在应用层中被加上应用层的报头(Application Header/AH),形成应用层协议数据单元(Application Protocal Data Unit/APDU),然后被递交到下一层表示层。
表示层并不关心上层应用层的数据格式而是把整个应用层递交的数据看成是一个整体进行封装,即加上表示层的报头(Presentation Header/PH),然后被递交到下一层会话层。
同样,会话层、运输层、网络层、数据链路层也都要分别给上层递交下来的数据加上自己的报头,它们分别是:会话层报头(Session Header/SH)、运输层报头(Transport Header/TH)、网络层报头(Network Header/NH)和数据链路层报头(Datalink Header/DH)。其中,数据链路层还要加上数据链路层报尾(Datalink Termination/DT)形成最终的一帧数据。
当一帧数据帧传送到物理层后,物理层将以比特流的方式通过传输介质将其传输出去。当比特流到达目的主机时,再从物理层依层上传至数据链路层,数据链路层负责去掉数据帧的帧头部DH和尾部DT(同时进行数据校验),如果数据没有出错,则继续递交至上一层网络层。
同样,网络层、运输层、会话层、表示层、应用层也做类似的工作。最终,原始数据被递交到目的主机的具体应用进程中。
TCP(Transmission Control Protocol传输控制协议)的特点?
- 面向连接,使用前要建立连接,使用后要释放连接
- 每一条TCP连接只能有两个端点,只能是点对点的
- 提供可靠交付,通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达
- 提供全双工通信,允许通信双方的应用进程在任何时候都能发送数据。TCP 连接的两端都设有发送缓存和接收缓存,用来临时存放双方通信的数据
- 面向字节流,“流”(Stream)指的是流入进程或从进程流出的字节序列。“面向字节流”的含义是:虽然应用程序和 TCP 的交互是一次一个数据块(大小不等),但 TCP 把应用程序交下来的数据仅仅看成是一连串的无结构的字节流。
UDP(User Datagram Protocol用户数据报协议)的特点?
- 面向无连接,发送数据之前不需要建立连接,减少开销和发送数据前的时延
- 尽最大努力交付,不保证可靠交付
- 面向报文,不对应用程序提交的报文信息进行拆分或者合并
- 没有拥塞控制,即使网络出现拥塞也不会降低发送速率
- 支持一对一、一对多、多对一和多对多的交互通信
- 首部开销小,只有8个字节
TCP和UDP的区别?
- TCP面向连接,UDP面向无连接
- TCP面向字节流,UDP面向报文
- TCP可靠传输,UDP不可靠传输
- TCP传输数据有序,UDP不保证数据有序
- TCP传输速度慢,UDP传输速度快
- TCP有流量控制和拥塞控制,UDP没有
- TCP是重量级协议,UDP是轻量级协议
- TCP首部长20字节,UDP首部短8字节
面向连接和面向无连接的服务的特点是什么?
- 面向连接的服务,通信双方在进行通信之前,要先在双方建立起一个完整的可以彼此沟通的通道,在通信过程中,整个连接的情况一直可以被实时地监控和管理。
- 非面向连接的服务,不需要预先建立一个联络两个通信节点的连接,需要通信的时候,发送节点就可以往网络上发送信息,让信息自主地在网络上去传,一般在传输的过程中不再加以监控。
画出TCP、UDP、IP的首部?
- TCP
- UDP
- IP
IP地址(IPv4)的分类?
(1)A类地址:用于少量的大型网络
A类地址第1字节为网络地址(最高位固定是0),后3个字节为主机地址
A类地址范围:1.0.0.0 - 126.255.255.255,其中0和127作为特殊地址
A类网络默认子网掩码为255.0.0.0,也可写作/8
A类网络最大网络数量是2^7-2=126
A类网络最大主机数量是2^24-2=166777214
在计算机网络中,主机号全为0的地址为网络地址,主机号全部为1的地址为广播地址,这2个地址不能分配给主机用
(2)B类地址:用于中等规模的网络
B类地址第1字节(最高位固定是10)和第2字节为网络地址,另外2个字节为主机地址
B类地址范围:128.0.0.0 - 191.255.255.255
B类网络默认子网掩码为255.255.0.0,也可写作/16
B类网络最大网络数量是2^14-2=16382
B类网络最大主机数量是2^16-2=65534
(3)C类地址:用于小规模的网络
C类地址第1字节(最高位固定是110)、第2字节和第3个字节,另外1个字节为主机地址
C类地址范围:192.0.0.0 - 223.255.255.255
C类网络默认子网掩码为255.255.255.0,也可写作/24
C类网络最大网络数量是2^21-2=2097150
C类网络最大主机数量2^8-2=254
(4)D类地址:用于多播的地址
D类地址不分网络地址和主机地址,它的第1个字节的最高位固定是1110
D类地址范围:224.0.0.0 - 239.255.255.255
D类地址用于多播(也称为组播)的地址,无子网掩码
(5)E类地址
E类地址也不分网络地址和主机地址,它的第1个字节的最高位固定是11110
E类地址范围:240.0.0.0 - 255.255.255.255
240.0.0.0-255.255.255.254作为保留地址
255.255.255.255作为受限广播地址
几个特殊的IP地址?
- 网络地址:主机号全为0
- 直接广播地址:主机号全为1
- 受限广播地址:255.255.255.255
- 回送地址:网络号为127(本机地址:127.0.0.1)
- A类私有IP地址:10.0.0.0~10.255.255.255
- B类私有IP地址:172.16.0.0~172.31.255.255
- C类私有IP地址:192.168.0.0~192.168.255.255
常见端口号与对应的服务?
端口号的范围是从1~65535。其中1~1023是知名端口(Well-Known Ports),这些端口号一般固定分配给一些服务;1024~65535是动态端口(Dynamic Ports),这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。
一些常见的端口号及其对应的服务如下:
TCP 21端口:FTP 文件传输服务
TCP 22端口:SSH 安全登录
TCP 23端口:Telnet 远程登录服务
TCP 25端口:SMTP 简单邮件传输服务
UDP 53端口:DNS 域名解析服务
TCP 80端口:HTTP 超文本传输服务
TCP 110端口:POP3 邮局协议3
TCP/UDP 443端口:HTTPS 加密的超文本传输服务
交换机与路由器的区别?
(1)工作层次不同
最初的的交换机是工作在数据链路层,而路由器一开始就设计工作在网络层。由于交换机工作在数据链路层,所以它的工作原理比较简单,而路由器工作在网络层,可以得到更多的协议信息,路由器可以做出更加智能的转发决策。
(2)数据转发所依据的对象不同
交换机是利用物理地址或者说MAC地址来确定转发数据的目的地址。而路由器则是利用IP地址来确定数据转发的地址。IP地址是在软件中实现的,描述的是设备所在的网络。MAC地址通常是硬件自带的,由网卡生产商来分配的,而且已经固化到了网卡中去,一般来说是不可更改的。而IP地址则通常由网络管理员或系统自动分配。
(3)传统的交换机只能分割冲突域,不能分割广播域;而路由器可以分割广播域
由交换机连接的网段仍属于同一个广播域,广播数据包会在交换机连接的所有网段上传播,在某些情况下会导致通信拥挤和安全漏洞。连接到路由器上的网段会被分配成不同的广播域,广播数据不会穿过路由器。虽然第三层以上交换机具有VLAN功能,也可以分割广播域,但是各子广播域之间是不能通信交流的,它们之间的交流仍然需要路由器。
(4)路由器提供了防火墙的服务
路由器仅仅转发特定地址的数据包,不传送不支持路由协议的数据包传送和未知目标网络数据包的传送,从而可以防止广播风暴。
网关的作用?
网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能。
网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。
网桥的作用?
网桥是一个局域网与另一个局域网之间建立连接的桥梁。
ARP协议的工作过程?
广播发送ARP请求,单播发送ARP响应。
(1)首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
(2)当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机IP地址,源主机MAC地址,目的主机IP地址。
(3)当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP地址和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入到ARP响应包中,告诉源主机自己是它想要找的MAC地址。
(4)源主机收到ARP响应包后,将目的主机的IP地址和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。