首页 > 编程知识 正文

计算机网络技术知识点,计算机网络基础知识整理大全

时间:2023-05-06 01:38:18 阅读:145337 作者:1496

OSI层(7层)物理层、数据链路层、网络层、传输层、会话层、表示层、APP应用层TCP/IP层) 4层、网络层、传输层、APP应用层5层原型APP应用层5层结构概述APP应用层:通过APP应用程序过程之间的交互来完成特定的网络

数据:消息传递协议: HTTP、SMTP (邮件)、FTP (文件传输)传输层)为两个主机进程之间的通信提供公共数据传输服务。

数据: TCP:报文段、UDP:用户数据报协议: TCP、UDP网络层:为分组交换网上的不同主机提供通信服务

数据—数据包或IP数据报协议—IP数据链路层:

数据:帧物理层:

数据:位ARP地址解析协议:用于获取对应于目标IP地址的MAC地址

各层协商

APP应用层域名系统DNS范例:有用户通过主机a浏览西安交大官网www.xjtu.edu.cn

1. A联系本地域名称服务器DNS

2 .如果DNS上有www.xjtu.edu.cn的记录,立即向主机a返回IP地址

3 .如果DNS中没有域名记录,DNS向根域名服务器发出查询请求

4 .根域名服务器向DNS传递负责cn域名的顶级域名服务器b的IP地址

5. DNS查询b获取辅助域名服务器c的IP地址,最终反复查询www.xjtu.edu.cn的IP直接返回DNS

HTTP请求消息

典型的HTTP请求方法包括:获取、开机自检、头、端口、删除、选项、跟踪、连接;

GET :如果客户端要从服务读取资源,请使用GET方法。 GET方法要求将URL中指定的资源放在响应消息的一部分中,然后发送回客户端,即向服务器请求资源。 如果使用GET方法,请将请求参数和相应的值附加在URL之后,然后使用问号“? 使用)表示URL的末尾和请求参数的开始,传递的参数长度受到限制。 例如,/index.jsp? id=100op=bind。

POST )在客户机经常向服务器提供信息的情况下,可以使用POST方法将数据发送到服务器,例如完成表单数据的发送,然后将数据发送到服务器进行处理。 GET通常用于获取/查询资源信息,POST附带用户数据,用于更新资源信息。 POST方法将请求参数封装在HTTP请求数据中,并表现为名称/值,可以传输大量数据;

请求标头:请求标头由一对关键字/值组成,每行一对。 关键字和值用英文冒号“:”分隔。 请求标头通知服务包含有关客户端请求的信息。 典型的请求标头如下

用户代理:生成请求的浏览器类型; Accept :客户端可以识别的响应内容类型列表; 星号“*”用于按范围对类型进行分组,“/”接受所有类型,“type/*”接受类型的所有子类型。 接受语言:客户端可以接受的自然语言; 接受编码:客户端可接受的编码压缩格式; 接受字符:可接受响应的字符集; 主机)请求的主机名。 允许多个域名相同的IP地址,即虚拟主机。 连接:连接方式(关闭或keepalive ); cookie :将属于该域的cookie发送到存储在客户端扩展字段并具有相同域名的服务器端; GET /search? HL=zh-cn source=hpq=dometyaq=foq=http/1.1 accept : image/gif,image/x-xbitmap,image/jpeg,image/pj 应用程序/x-Silverlight,应用程序/x-shock wave-flash */* referer : a href=' http://www.Google.cn/' 3: Windows NT 5.1; SV1; NET CLR 2.0.50727; the world (主机: a href=' http://www.Google.cn ' www.Google.cn/a connection : keep-alive cookie : pref=id=80 a 06 da 87 be9a e3c : u=f 7167333 e2C3 b 714: NW=13: TM=1261519090933333333333333 kvijrb6omjamnrsm8lzh ky _ ymfo2M4 qmrkch 1g0iqv 9u-2hf bw7 bufwvh7PGA rub0rnhcju 37 y-fxl rub0rnhcju 37 y

tx63JLv7CWMD6UB_O_r 响应报文

状态码由三位数字组成,第一位数字表示响应的类型,常用的状态码有五大类如下所示:

1xx:表示服务器已接收了客户端请求,客户端可继续发送请求;2xx:表示服务器已成功接收到请求并进行处理;3xx:表示服务器要求客户端重定向;4xx:表示客户端的请求有非法内容;5xx:表示服务器未能正常处理客户端的请求而出现意外错误;

200 OK:表示客户端请求成功;

400 Bad Request:表示客户端请求有语法错误,不能被服务器所理解;

401 Unauthonzed:表示请求未经授权,该状态代码必须与 WWW-Authenticate 报头域一起使用;

403 Forbidden:表示服务器收到请求,但是拒绝提供服务,通常会在响应正文中给出不提供服务的原因;

404 Not Found:请求的资源不存在,例如,输入了错误的URL;

500 Internal Server
Error:表示服务器发生不可预期的错误,导致无法完成客户端的请求;

503 Service Unavailable:表示服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常;

响应头部:响应头可能包括:
- Location:Location响应报头域用于重定向接受者到一个新的位置。例如:客户端所请求的页面已不存在原先的位置,为了让客户端重定向到这个页面新的位置,服务器端可以发回Location响应报头后使用重定向语句,让客户端去访问新的域名所对应的服务器上的资源;
- Server:Server 响应报头域包含了服务器用来处理请求的软件信息及其版本。它和 User-Agent 请求报头域是相对应的,前者发送服务器端软件的信息,后者发送客户端软件(浏览器)和操作系统的信息。
- Vary:指示不可缓存的请求头列表;
- Connection:连接方式;

对于请求来说:close(告诉WEB 服务器或者代理服务器,在完成本次请求的响应后,断开连接,不等待本次连接的后续请求了)。keepalive(告诉WEB服务器或者代理服务器,在完成本次请求的响应后,保持连接,等待本次连接的后续请求);

对于响应来说:close(连接已经关闭); keepalive(连接保持着,在等待本次连接的后续请求); Keep-Alive:如果浏览器请求保持连接,则该头部表明希望WEB 服务器保持连接多长时间(秒);例如:Keep-Alive:300;

WWW-Authenticate:WWW-Authenticate响应报头域必须被包含在401 (未授权的)响应消息中,这个报头域和前面讲到的Authorization 请求报头域是相关的,当客户端收到 401 响应消息,就要决定是否请求服务器对其进行验证。如果要求服务器对其进行验证,就可以发送一个包含了Authorization 报头域的请求;

问题:
1. Http1.1与Http1.0的区别
http1.0使用非持久连接(短连接),而http1.1默认是持久连接(长连接),当然也可以配置成非持久连接。

Cookie和Session的作用和工作原理

FTP文件传送协议 运输层 使用UDP和TCP协议的各种应用和应用层协议 应用应用层协议运输层协议名字转换DNS(域名系统)UDP文件传送TFTP(简单文件传送协议)UDP路由器选择协议RIP(路由信息协议)UDPIP地址配置DHCP(动态主机配置协议)UDP网络管理SNMP(简单网络管理协议)UDP远程服务器NFS(网络文件系统)UDP多播IGMP(网际组管理协议)UDP电子邮件SMTP(简单邮件传送协议)TCP远程终端TELNET(远程终端协议)TCP万维网HTTP(超文本传送协议)TCP文件传送FTP(文件传送协议)TCP

- 端口
TCP和UDP都需要有源端口目的端口

(端口:用16位来表示,即一个主机共有65536个端口.序号小于256的端口称为通用端口,如FTP是21端口,WWW是80端口等.端口用来标识一个服务或应用.一台主机可以同时提供多个服务和建立多个连接.端口(port)就是传输层的应用程序接口.应用层的各个进程是通过相应的端口才能与运输实体进行交互.服务器一般都是通过人们所熟知的端口号来识别的)

服务端

常用的熟知端口

应用程序FTPTELNETSMTPDNSTFTPHTTPSNMPSNMP(trap)熟知端口212325536980161162

登记端口 1024~49151

客户端

端口号由客户进程动态选择。数值范围 49152~65535

UDP 特点 无连接的(发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延)尽最大努力交付(不保证可靠支付,因此主机不需要维持复杂的连接状态表)面向报文的(UDP对应用层交下来的报文,添加完首部后就直接交付IP层。如果太长就会分片)UDP没有拥塞控制UDP支持一对一、一对多、多对一和多对多的交互通信UDP的首部开销小(只有8个字节,TCP有20个字节) UDP报文


- 源端口:2字节 = 16bit = 0 ~ 65535
- 目的端口:2字节
- 长度:2字节
- 检验和:2字节

如果接受方UDP发现收到的报文中的目的端口号不正确(不存在对应端口号的应用进程),就会丢弃报文,并有网际控制报文协议ICMP(ping某个地址就是用的ICMP)发送“端口不可达”差错报文给发送方。

UDP用户数据报首部检验和计算时会在UDP用户数据报前增加12个字节的伪首部。

TCP 特点 面向连接的运输层协议。点对点(一对一)通信。可靠交付。全双工通信(TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据)。面向字节流。

TCP与UDP在发送报文时所采用的方式完全不同。TCP具体发送的报文由接收方给出的窗口值和当前网络拥塞的程度来决定一个报文段包含多少字节。而UDP发送的报文长度由应用进程给出。

TCP可靠传输工作原理

TCP连接的端点叫做套接字(socket)或插口。套接字socket = (IP地址:端口号)

停止等待协议


每发送完一个分组就设置一个超时计时器。
- 注意:
1. 必须暂时保存已发送的分组的副本
2. 分组和确认分组都必须编号
3. 超市计时器设置的重传时间比数据在分组传输的平均时间更长一些

确认丢失和确认迟到



如果接收方接收到数据发送确认没有被发送方接收到,那么发送方超时后会重新发送分组,并且接收方收到重复的分组会丢弃并重传确认。
如果接收方收到的确认是已经接受过的,那么会无视这个确认。

缺点

停止等待协议(自动重传ARQ)虽然简单,但是信道利用率低。

信道利用率U = TD / (TD + RTT + TA)

连续ARQ协议和滑动窗口协议

TCP报文格式

源端口和目的端口 各占2字节序号 4字节确认号 4字节期望收到对方下一个报文的第一个数据字节的序号数据偏移 4位保留 6字节紧急URG 当URG=1表示紧急指针有效确认ACK 推送PSH复位RST 当RST = 1时,释放连接并重新建立连接同步SYN 当SYN = 1 ACK = 0时,表明这是一个连接请求报文段。终止FIN FIN = 1,请求释放连接。窗口检验和紧急指针选项 TCP的三次握手

客户端TCP向服务端TCP发送一个特殊的TCP报文段,不包含应用层数据,报文中SYN=1,设置一个初始号client_isn,记录在报文段的序列号seq中。SYN报文段到达服务器后,为该TCP链接分配缓存和变量,并向客户端发送允许链接的报文段。其中,SYN = 1, ACK = client_isn+1,seq = server_isn;客户端收到允许连接的报文后,客户端也给连接分配缓存和变量,客户端向服务端发送一个报文段,其中ACK = server_isn+1,SYN = 0,并且由于连接已经建立所以现在可以携带应用层数据。 TCP四次挥手


1. 客户端发送连接释放报文段,报文中FIN = 1, seq = u;
2. 服务端接收到连接释放报文后发出确认报文,其中ACK = 1; seq = v; ack = u + 1;
3. 服务端在发送完数据后,发送连接释放报文FIN = 1, seq = w, ack = u + 1;并停止向客户端发送数据。
4. 客户端收到连接释放报文后,发送确认报文, ACK = 1; seq = u + 1; ack = w + 1;并且进入等待2MSL,防止服务端没有接收到确认报文,重传报文。并且使连接产生的报文都消失。

TCP协议的连接是全双工连接,一个TCP连接存在双向的读写通道。
简单说来是 “先关读,后关写”,一共需要四个阶段。以客户机发起关闭连接为例:
1. 服务器读通道关闭
2. 客户机写通道关闭
3. 客户机读通道关闭
4. 服务器写通道关闭

TCP拥塞控制 拥塞控制和流量控制的区别

流量控制针对的是点对点之间的(发送方和接收方)之间的速度匹配服务,因为接收方的应用程序读取的速度不一定很迅速,而接收方的缓存是有限的,就需要避免发送的速度过快而导致的问题。拥塞控制是由于网络中的路由和链路传输速度限制,要避免网络的过载和进行的控制。

拥塞控制算法

拥塞控制算法主要包含了三个部分:慢启动、拥塞避免和快速回复

慢启动

慢开始算法的思路就是,不要一开始就发送大量的数据,先探测一下网络的拥塞程度,也就是说由小到大逐渐增加拥塞窗口的大小。一般一开始为1个MSS,之后翻倍这样来增加,呈指数增长。其中1、慢启动过程有一个阈值ssthresh,一旦到达阈值就进入拥塞避免模式。这是第一种离开结束慢启动的方式2、如果收到了一个丢包提示,就将cwnd设为1并且重新开始慢启动过程,这时要把阈值ssthresh设为当前cwnd值的一半。3、如果收到了三次冗余的ACK,就执行一次快速重传并且进入快速恢复状态,这是最后一种结束慢启动的过程。

拥塞避免

进入拥塞避免说明cwnd值大约是上一次遇到拥塞是的一半,这时候不能翻倍,而是将cwnd的值每次增加一个MSS。结束的过程有两种可能:1、当出现超时时,将cwnd值设为1个MSS,并且将ssthresh阈值设为当前cwnd值的一半。2、当收到三个冗余ACK时,将ssthresh阈值设为当前cwnd值的一半,并且将cwnd值设为当前cwnd值的一半加3,即ssthresh阈值加3,并且进入快速恢复状态。

快速恢复

快速恢复就是指进入快速恢复前的一系列操作,即将ssthresh阈值设为当前cwnd值的一半,并且将cwnd值设为当前cwnd值的一半加3,即ssthresh阈值加3,之后进入拥塞避免状态,即每次cwnd的值加1个MSS。

网络层 协议 地址解析协议 ARP网际控制报文协议 ICMP网际组管理协议 IGMP IP

IP地址分类:
- A类:1.0.0.0~126.255.255.255,默认子网掩码/8,即255.0.0.0 (其中127.0.0.0~127.255.255.255为环回地址,用于本地环回测试等用途);

B类:128.0.0.0~191.255.255.255,默认子网掩码/16,即255.255.0.0;

C类:192.0.0.0~223.255.255.255,默认子网掩码/24,即255.255.255.0;

D类:224.0.0.0~239.255.255.255,一般于用组播

E类:240.0.0.0~255.255.255.255(其中255.255.255.255为全网广播地址),E类地址一般用于研究用途

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。