计算机网络知识

1.TCP/UDp区别

TCP(传输控制协议):是基于连接的协议。即在正式收发数据前,必须和对方建立可靠的连接(至少需要三次对话才能保证TCP连接,三次对话的目的使数据包发送和接受同步)。

UDP(用户数据报协议):是面向非连接的协议。不用和对方建立连接,直接将数据包发送过去。(适用于传输少量数据)

TCPUDP
面向连接面向非连接
可靠非可靠
传输大量数据传输少量数据

2.TCP如何保证可靠性

在TCP的连接中,数据必须以正确的数据送达对方。(TCP的可靠性通过顺序编号和确认(ACK)来实现的)

TCP在开始传输一个段时,为准备重传而首先把该段插入到队列之中,同时启动时钟。其后,如果收到了接受端对该段的ack

信息,就将该段从队列中删去,如果在规定的时间内,ACK未返回,那么就从发送队列中再次送出这个段。TCP在协议中对数据可靠传输做了保障,握手和断开都需要通讯双方确认,数据传输也需要双方确认成功。在协议中还规定了:分包、重组、重传等规则。而UDP主要是不可靠传输,不能保证数据正常到达目的地。

(数据包校验、对失序数据包重排序、丢弃重复数据、应答机制、超时重发、流量控制)

3.常见的路由选择协议

Rip协议:底层是贝尔曼福特算法,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。

OsPF协议;底层是迪杰斯特拉算法,是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟。

4.OSI七层模型与TCP/IP五层模型

七层模型:

 层功能协议
应用层文件传输、电子邮件、文件服务TFTP、HTTP、FTP、DNS(域名解析协议)、SMTP
表示层数据个事哈、代码转换、数据加密 
会话层解除或者建立与别的节点的联系 
传输层提供端到端的接口TCP、UDP
网络层为数据包选择路由IP、ICMP、RIP
数据链路层传输有地址的帧以及错误检测PPP、ARP
物理层以二级制数据形式在物理媒体上传输数据ISO

五层模型

应用层

 

 
传输层交换机、路由器 
网络层交换机、路由器IP、arp
数据链路层网桥、交换机、网卡udp、tcp
物理层中继器、集线器ftp、dns、pop3、http

5.地址分类

ipv4

A类地址:以0开头,第一个字节范围:0~127

B类地址:以10开头,第一个字节范围:128~191

C类地址:以110开头,第一个字节范围:192~223

D类地址:以1110开头,第一个字节范围:224~239

6.地址解析协议(ARP)

首先,每台主机都会在自己的ARP缓冲区建立一个ARP列表。以表示IP地址和MAC地址对应关系。

当源主机需要将一个数据包发送到目的主机时,首先会检查自己的ARP列表中是否存在该IP对于的MAC地址。如果存在,直接将数据包发送这个MAC(局域网地址)地址。如果没有,就向本地网段发送一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

7.TCP和UDP对应的协议

TCP对应的协议:

  1. FTP(传输文本协议):端口:2:1
  2. Telnet(远程登录的端口):端口:23
  3. SMTP(简单的邮件传输协议): 端口:25
  4. POP3(邮件接收协议): 端口:110

UDP对应的协议:

  1. DNS(域名解析协议):将域名转化为IP。端口:53
  2. SNMP(简单网络管理协议):端口:161
  3. TFTP(简单文件传输协议):端口:69

8.NAT协议、DHCP协议、DNS协议

NAT协议:网络地址协议(接入广域网技术)。将私有(保留)地址转化为合法的IP地址的转化技术。完美解决了IP不足的问题,还能避免来自网络外的攻击。

DHCP协议(动态主机设置):是局域网的网络协议。使用UDP协议工作。主要用于给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。

DNS协议(域名系统):将域名和IP地址相互映射的一个分布式数据库。方便访问互联网。

9.子网掩码作用

将某个IP地址划分为网络地址和主机地址两部分。

用于子网掩码的位数决定于可能的子网数目和每个子网的主机数目。

10.路由器作用

分组交换,转发收到的分组。

11.数据交换的几种方式和特点

  1. 电路交换:整个报文的比特流连续的从源点直达终点。好像在一个管道中传输。
  2. 报文交换:整个报文先传送到相邻节点,全部存储下来后查找转发表,转发下一个节点。
  3. 分组交换:单个分组(报文的一部分)传到相邻节点,存储下来后查找转发表,转发到下一个节点。

12分用和复用

多个用户使用一个IO资源 发送消息 时,我们称之为“复用”。

多个用户使用一个IO资源 接收消息 时,我们称之为 “分用” 。

13.数据链路层使用的主要通道类型、以及三个基本问题

主要通道类型:

  1. 点到点信道
  2. 广播信道

三个基本问题:

1.封装成帧;​ 就是在数据的前后添加尾部和首部,这样就构成了一个帧

2.透明传输:发送端的数据链路层在数据中出现控制字符”SOH”和“EOT”时候,需要在前面插入一个转义字符”ESC”,这种方式称之为字节填充或者字符填充。

3.差错检测:CRC校验

14.TCP的拥塞控制

拥塞控制算法:慢开始、拥塞控制、快重传、快恢复。

15.为什么TCP链接需要三次握手,两次不可以么,为什么?

为了防止 已失效的链接请求报文突然又传送到了服务端,因而产生错误。

16.TCP与UDP之间的区别

  1. Tcp面向连接,UDP面向非连接即发送数据前不需要建立连接。
  2. Tcp提供可靠的数据传输服务,UDp无法保证
  3. TCP面向字节流,UDP面向报文段
  4. TCP数据传输慢,UDP数据传输快。

17.在浏览器中输入网址后执行会发生什么?

  1. 查找域名对应的ip地址。这一步会一次查找浏览器缓存,系统缓存,路由器缓存,ISPNDS缓存,根域名服务器。
  2. 浏览器向ip对应的web服务器发送一个HTTP请求。
  3. 服务器响应请求,发挥网页内容。
  4. 浏览器解析网页内容

18.HTTP协议包括那些请求

  1. GET:对服务器资源的简单请求
  2. POST用于发送包含用户提交数据的请求
  3. HEAD:类似于GET请求,不过返回的响应中没有具体的内容,用于获取报头。
  4. PUT:传说中请求文档的一个版本。
  5. DELETE:发出一个删除指定文档的请求
  6. TRACE:发送一个请求的副本,以跟踪器处理进程
  7. OPTOIONS:返回所有可用的方法,检查服务器支持那些方法

19.HTTP中GET和POST的区别

从原理性看:

  • GET用于信息获取。
  • POST请求表示可能修改服务器上的资源的请求

从表面上看:

  • GET请求的数据会附在URL后面,POST的数据放在HTTP报头
  • POST安全性比GET高

20.线程同步的方式有那些

  1. 临界区:通过对多线程的串行化来访问公共资源或者一段代码,速度快,适合控制数据的访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程视图访问公共资源,那么在一个线程进入后,其他视图访问公共资源的线程将被挂起,并一直等到进入临界区的线程离开,临界区在被释放后,其他线程才可以抢占。

  2. 互斥量:采用互斥对象机制。只有拥有互斥对象的线程才能访问公共资源的权限,因为互斥对象只有一个,所以能保证公共资源不会同时被多个线程访问。

  3. 信号量:它允许多个线程在同一时刻访问同一资源,但是需要限制在同一时刻访问此资源的最大线程数目。

  4. 事 件: 通过通知操作的方式来保持线程的同步,还可以方便实现对多个线程的优先级比较的操作。

21.进程的通信方式有哪些?

管道主要分为:普通管道PIPE 、流管道(s_pipe)、命名管道(name_pipe

  • 管道:是一种半双工的通信方式,数据只能单项流动,并且只能在具有亲缘关系的进程间流动,进程的亲缘关系通常是父子进程。(命名管道也是半双工的通信方式,它允许无亲缘关系的进程间进行通信
  • 信号量:是一个计时器,用来控制多个进程对资源的访问,它通常作为一种锁机制。
  • 消息队列:是消息的链表,存放在内核中并由消息队列标识符标识。
  • 共享内存:就是映射一段能被其他进程访问的内存,这段共享内存由一个进程创建,但是多个进程可以访问。
  • socket

22.什么是缓冲区溢出?有什么危害?

缓冲区溢出指计算机向缓冲区填充数据时超出了缓冲区本身的容量,溢出的数据覆盖在合法的数据上。

危害:

  • 程序崩溃,导致拒绝服务
  • 跳转并执行一段恶意代码

原因:程序中没有仔细检查用户输入


23.分页和分段的区别

        页是信息的物理单位,是为了管理主存方便而划分的,对用户是透明的。  

  1. 段是信息的逻辑单位,是根据用户的需求划分的,因此段对用户是可见的;
  2. 段的大小不定,由它所完成的功能决定;页的大小固定,由系统决定
  3. 段向用户提供二维地址空间;页向用户通过一位地址空间
  4. 段是信息的逻辑单位,便于存储保护和信息共享,页的保护和共享收到限制。

24.操作系统的调度策略

先来先服务(FCFS)、优先级、时间片轮转、多级反馈

25.进程的同步机制

  进程同步是进程之间直接的相互作用,是合作进程间有意识的行为,典型的例子是公共汽车上司机与售票员的合作。只有当售票员关门之后司机才能启动车辆,只有司机停车之后售票员才能开车门。司机和售票员的行动需要一定的协调。同样地,两个进程之间有时也有这样的依赖关系,因此我们也要有一定的同步机制保证它们的执行次序。 

四种同步和互斥机制:信号量、管程、会合、分布式系统。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值