面试问题记录 三
TCP/IP及其主要协议
TCP/IP协议是一个协议簇,其中包括很多协议。
TCP/IP协议包括应用层、传输层、网络层、网络访问层(网络接口层、网际层)。
- 应用层:应用程序间沟通的层
- 超文本传输协议(HTTP):万维网的基本协议;
- 文件传输(TFTP):简单文件传输协议;远程登录(Telnet):提供远程访问其它主机功能,它允许用户登录internet主机,并在这台主机上执行命令;
- 网络管理(SNMP):简单网络管理协议,该协议提供了监控网络设备的方法,以及配置管理、统计信息收集、性能管理及安全管理等;
- 域名系统(DNS):域名解析服务,该系统用于在internet中将域名及转换成IP地址;
- 传输层:提供了节点间的数据传送服务,给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。
- 传输控制协议(TCP)
- 用户数据报协议(UDP)
- 网络层:负责提供基本的数据封包传送功能,让每一个数据包都能够到达目的主机(但不检查是否被正确接收)。
- Internet协议(IP) :根据网间报文IP地址,从一个网络通过路由器传到另一网络;
- ICMP:Internet控制信息协议(ICMP);
- ARP:地址解析协议(ARP) ——“最不安全的协议”。
- RARP:反向地址解析协议(RARP)
- 网络访问层:又称作主机到网络层(host-to-network),IP地址与物理地址硬件的映射及IP封装成帧,基于不同硬件类型的网络接口,网络访问层定义了与物理介质的连接。
OSI模型及其主要协议
OSI模型是一个开放式系统互联参考模型,该模型人为的定义了七层结构。
Please Do Not Tell Stupid People Anything
- 物理层 Physical
OSI的物理层规定了通信端点之间的机械特性、电气特性、功能特性以及过程特性,该层为上层协议提供了一个传输数据的物理媒体。该层数据的单位称为比特(bit)。其主要有:EIA/TIA、RS-232、EIA/TIA、RS-449、V.35、RJ-45、fddi令牌环网。 - 数据链路层 Data Link
定义了在单个链路上如何传输数据,其主要作用包括:作用包括物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。该层数据的单位称为帧(frame)。其主要有:ARP、RARP、SDLC、HDLC、PPP、STP、帧中继。 - 网络层 Network
定义了端到端的包传输,定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习路由的方式。
为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。主要负责寻找地址和路由选择,网络层还可以实现拥塞控制、网际互连等功能。
该层数据的单位称为数据包(packet)。主要有:IP、IPX、RIP、OSPF。 - 传输层 Transport
- 为端到端连接提供传输服务;
这种传输服务分为可靠和不可靠的,其中TCP是典型的可靠传输,而UDP则是不可靠传输; - 为端到端连接提供流量控制,差错控制,重新排序,服务质量等管理服务。
- 该层数据的单位称为数据段(segment)。主要有:TCP、UDP、SPX、DCCP、SCTP、RTP、RSVP、PPTP。
- 为端到端连接提供传输服务;
- 会话层 Session
他定义了如何开始、控制和结束一个会话,即负责建立和断开通信连接(数据流动的逻辑通路)。主要有:RPC、SQL、NetBIOS。 - 表示层 Presentation
定义数据格式及加密。主要负责数据格式的转换,确保一个系统的应用层信息可被另一个系统应用层读取。主要有:加密、ASII、TIFF、JPEG、HTML、PICT。 - 应用层 Application
与其他计算机进行通讯的一个应用,它是对应应用程序的通信服务的,为应用程序提供服务并规定应用程序中通信相关的细节。主要有:Telnet、HTTP、FTP、WWW、NFS、SMTP。
IP协议与IP地址
IP协议(Internet Protocol):又称互联网协议,是支持网间互连的数据报协议。它提供网间连接的完善功能,包括IP数据包规定互连网络范围内的IP地址格式。
为了实现连接到互联网上的结点之间的通信,必须为每个结点(入网的计算机)分配一个地址,并且应当保证这个地址是全网唯一的,这便是IP地址。
目前的IP地址(IPv4:IP第4版本)由32个二进制位表示,每8位二进制数为一个整数,中间由小数点间隔,整个IP地址空间有4组8位二进制数,由表示主机所在的网络的地址以及主机在该网络中的标识共同组成。为了便于寻址和层次化的构造网络,IP地址被分为A、B、C、D、E五类,商业应用中只用到A、B、C三类。
- A类地址:网络标识由第一组8位二进制数表示,网络中的主机标识占3组8位二进制数,网络标识的第一位二进制数取值必须为”0”。
- A类地址允许有126个网段,每个网络大约允许有1670万台主机,通常分配给拥有大量主机的网络(如主干网)。1.0.0.1-127.255.255.254
- B类地址:网络标识由前两组8位二进制数表示,网络中的主机标识占两组8位二进制数,网络标识的前两位二进制数取值必须为”10”。
- B类地址允许有16384个网段,每个网络允许有65533台主机,适用于结点比较多的网络(如区域网)。128.1.0.1-191.255.255.254
- C类地址:网络标识由前3组8位二进制数表示,网络中主机标识占1组8位二进制数,网络标识的前3位二进制数取值必须为”110”。具有C类地址的网络允许有254台主机,适用于结点比较少的网络(如校园网)。192.0.1.1-223.255.255.254
为了便于记忆,通常习惯采用4个十进制数来表示一个IP地址,十进制数之间采用句点”.”予以分隔。这种IP地址的表示方法也被称为点分十进制法。
NAT的几种类型,及其原理
常见的NAT主要有DNAT和SNAT。
- SNAT:指在数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP。此时,接收方就认为数据包的来源是被替换的那个IP的主机。
- DNAT:指数据包从网卡发送出去的时候,修改数据包中的目的IP。此时,若访问A,但因此DNAT的存在,所有访问A的数据包的目的IP全部修改为B,那么,实际上访问的是B。
包过滤防火墙和代理应用防火墙的区别
- 包过滤防火墙:工作在网络层,根据包头中的源IP地址、目标IP地址、协议类型、端口号进行过滤;
- 代理应用防火墙:工作在应用层,使用代理服务器技术,将内网对外网的访问,变为防火墙对外网的访问,可以对包的内容进行分辨,从而过滤。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 符十三郎!