C++面试基础知识——计算机网络(一)

 

计算机网络分为哪几层?

OSI模型的话,分为七层,从上到下分别是:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

TCP/IP,分为四层:应用层、传输层、网络层、链路层

TCP/IP每一层的功能:

应用层:这一层负责具体的应用,比如HTTP访问、FTP文件传输、SMTP/POP3邮件处理等等。几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序:远程登录(Telnet)文件传输协议(FTP)简单邮件传输协议(SMTP)简单网络管理协议(SNMP)

传输层:主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议簇中,有两个不同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议),它们分别承载不同的应用。TCP协议提供可靠的服务,UDP协议提供不可靠但是高效的服务

网络层:IP层有时也称作互连网层,处理分组在网络中的活动,在底层通信网络的基础上,完成路由、寻径功能,提供主机到主机的连接。IP是尽力传送的、不可靠的协议。在TCP/IP协议簇中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互连网控制报文协议),ARP/RARP(地址解析/反向地址解析协议),以及IGMP协议(Internet组管理协议)

网络接口层:有时也称作数据链路层或链路层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。在TCP/IP协议簇中,链路层的协议比较多,它决定了网络形态,但很多都不是专门为TCP/IP设计的。常用的链路层协议包括:以太网协议、PPP协议、帧中继协议、ATM等

TCP和UDP有什么区别?什么场景使用TCP,什么场景什么UDP?哪些应用层协议使用了TCP,哪些使用了UDP?


TCP和UDP最主要的区别是TCP是可靠传输的,UDP是不可靠传输的。所以如果我们的发送消息之类的场景,因为你要确保用户的消息不会丢失,需要使用TCP协议。如果你是在进行视频聊天或者看直播,那你可以使用UDP协议,因为即使几个画面丢失了,对用户来说影响也不是很大。

基于TCP的应用层协议有: 

Telnet(Teletype over the Network, 网络电传) ,通过一个终端(terminal)登陆到网络 
FTP(File Transfer Protocol, 文件传输协议) 
SMTP(Simple Mail Transfer Protocol,简单邮件传输协议) ,用来发送电子邮件 
POP3(Post Office Protocol 3)邮件读取协议,协议通常被用来接收电子邮件 
HTTP 
HTTPS

基于UDP的有:

NFS(网络文件系统) 
TFTP 
SNMP(Simple Network Management Protocol, 简单网络管理协议) ,用于网络信息的收集和网络管理 
DHCP 
NTP(Network Time Protocol,网络时间协议) ,用于网络同步 
BOOTP(Boot Protocol,启动协议) ,应用于无盘设备 

基于UDP和TCP的有:

DNS(Domain Name Service,域名服务) ,用于完成地址查找,邮件转发等工作 
ECHO(Echo Protocol, 回绕协议) ,用于查错及测量应答时间

双工、单工、全双工、半双工

双工:A可以向B发送消息,B也可以向A发送消息

单工:A可以向B发消息,B不能向A发消息

全双工:A向B发送消息的同时,B也可以向A发消息

半双工:A向B发消息的时候,B不能向A发消息,B向A发消息的时候,A同样也不能向B发消息

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值