计算机网络复习

周二约的腾讯面试,周末极限复习一下,争取今天把计网的书看完

应用层

端口号:Web  80; SMTP  25;FTP控制连接端口21,数据连接端口20;POP3  110;DNS  53

报文

1. 应用程序的核心

运行在不同端系统,通过网络彼此通信

2. 应用程序的体系结构(如何在各种端系统上组织该应用程序)

客户—服务器(CS)体系结构:服务器—总是打开的主机,客户之间不直接通信,服务器具有固定的、周知的IP地址

                                                    Web、FTP、Telnet、电子邮件

对等(P2P)体系结构:对位于数据中心的专用服务器有最小的(或没有)依赖,在间断的主机之间使用直接通信(对等方)

(自扩展性)                  文件共享、下载加速器(迅雷)、因特网电话 

3. 进程通信

两个不同端系统上的进程,通过跨越计算机网络交换报文而相互通信

进程通过软件接口—套接字(同一主机内应用层与传输层的接口,API)向网络发送报文和接收报文

4. SSL(安全套接字层)

加密、数据完整性、端点鉴别

5. 应用层协议(交换报文的类型,语法,字段语义,如何发送,响应规则)

1)Web && HTTP(超文本传输协议)—TCP

URL地址:存放对象的服务器主机名,对象路径名

无状态协议—不保存关于用户的任何信息

非持续连接:每个请求响应对是经过一个单独的TCP连接发送

持续连接:所有的请求及响应经过相同的TCP连接发送(默认)

往返时间(RTT):一个短分组从客户到服务器然后再返回客户所花费的时间(传播时延、排队时延、处理时延)

三次握手:客户向服务器发送一个小的TCP报文段,服务器用一个小的TCP报文段做出确认和相应,客户向服务器返回确认

HTTP报文格式(请求报文、响应报文)

  • 请求报文  

请求行:方法字段(GET,POST,HEAD—不返回请求对象,通常用来调试跟踪, PUT—允许用户上传对象到指定的Web服务器上的指定目录, DELETE—允许用户删除Web服务器上的对象)、URL字段、HTTP版本字段

首部行:Host、Connection、User-agent、Accept-language

空行:

实体主体:GET方法为空,POST方法有(提交表单)

  • 响应报文

状态行:协议版本、状态码、相应状态信息

首部行:Connection、Data、Sever、Last-Modified、Content-Length、Content-Type

空行

实体主体:所请求对象的本身

状态码及相应短语:

200  OK:请求成功

301  Moved Permanently:请求的对象被永久转移了,新的URL定义在Location首部行中

400 Bad Request:请求不能被服务器理解

404 Not Found:被请求的文档不在服务器上

505 HTTP Version Not Supported:服务器不支持请求报文使用的HTTP协议版本

cookie:请求和响应报文中有一个cookie首部行,用户端系统有一个保存 cookie的文件,web有一个后端数据库

              唯一标识码,数据库产生对应表项  Set-cookie

              标识一个用户

web缓存(代理):在存储空间中保存最近请求过的对象的副本,既是服务器又是客户

                                减少客户对请求的响应时间、减少一个机构的接入链路到因特网的通信量

2)文件传输协议:FTP

用户提供一个用户标识和口令,向一台远程主机传输文件

两个并行TCP连接:控制连接(用户标识、口令等)、数据连接—带外传送,数据连接是非持续的

                                在会话期间保留用户的状态

3)电子邮件 SMTP

因特网电子邮件系统:用户代理、邮件服务器(邮箱—管理和维护报文)、简单邮件传输协议

一般不使用中间邮件服务器发送邮件

持续连接

邮件访问协议:第三版邮局协议(POP3):下载并删除/下载并保留

                         因特网邮件访问协议(IMAP):在远程文件夹中查询邮件,维护用户状态信息

                         HTTP

DNS(域名系统):主机名到IP地址转换,分层的DNS服务器实现分布式数据库

                                 基于UDP,带来额外的时延,递归查询,迭代查询,DNS缓存

                                 根DNS服务器,顶级域DNS服务器,权威DNS服务器,本地DNS服务器

                                 资源记录(Name,Value,Type,TTL)

                                 Type = A  主机名   ->   IP地址                   Type = NS    个域   ->   权威DNS服务器的主机名

                                 Type = CNAME   别名   ->   规范主机名     Type = MX   邮件服务器别名  ->   规范主机名

P2P应用:自扩展性

文件分发

分散在大型对等方社区中的数据库

运输层

在端系统中实现,为运行在不同主机上的进程之间提供了逻辑通信

报文段(segment)—将应用报文划分为较小的块,并为每块加上一个运输层首部以生成运输层报文段

多路复用:在源主机从不同的套接字中收集数据块,并为每个数据块封装上首部信息从而生成报文段,然后将报文段传递到网络层

多路分解:将运输层报文段中的数据交付到正确的套接字

端口号(标识套接字)—16bit,0~65535

UDP套接字由二元组标识:目的IP地址、目的端口号

TCP套接字由四元组标识:源IP地址、源端口号、目的IP地址、目的端口号

1. TCP服务

面向连接服务:全双工(同时进行报文收发),三次握手

可靠传输服务:无差错、按顺序交付—流量控制、序号、确认、定时器

拥塞控制机制:当发送方和接收方之间的网络出现拥塞时,抑制发送进程

流量控制服务:消除发送方使接收方缓存溢出的可能性,发送方的放松速率与接收方的接收速率速匹配

                         接收方—接收窗口(接收方还有多少缓存空间)

最大报文段长度(MSS),最大传输单元(MTU)

分组首部(20字节)

TCP报文段结构

源端口号         目的端口号

序号

确认号

首部长度 保留未用 URG ACK PSH RST SYN FIN 接收窗口 

因特网校验和    紧急数据指针

选项(通常为空,即TCP首部长度为20字节)

数据

超时间隔加倍,快速重传(收到3个冗余ACK)

2. UDP服务

无连接的、不可靠数据传送服务、没有拥塞控制机制 

TCP和UDP均提供数据交付、差错检查(两种最低限度的运输层服务)

要求最小的发送速率,不希望过分延迟,容忍一些数据丢失,不会引入连接时延,不维护连接状态,分组首部开销小(8字节)

无差错恢复能力,丢弃受损的报文段

报文段结构 (一行32bit)

源端口号                          目的端口号

长度(首部+数据)          检验和(UDP报文段)

应用数据(报文)

3. 可靠数据传输的原理

停止等待协议

流水线可靠数据传输协议:允许发送方发送多个分组而无需等待确认—增加序号范围,发送方和接收方必须缓存多个分组

                                           差错恢复(回退N步—滑动窗口,失序分组全部丢弃,选择重传—仅重传出错分组)

4. TCP三次握手

  • 客户端的TCP首先向服务器端的TCP发送一个特殊的TCP报文段,不包含应用层数据,SYN=1    —   SYN报文段
  • 服务器提取出TCP SYN报文段,为该TCP连接分配TCP缓存和变量,并向客户端TCP发起允许连接的报文段,不包含应用层数据,SYN = 1 — SYNACK报文段
  • 在收到SYNACK报文段后,客户为连接分配缓存和变量。客户主机向服务器发送另一个报文段:对服务器的允许连接的报文段进行了确认,SYN = 0,可以捎带数据

5. TCP四次挥手

FIN  ACK   FIN  ACK

6. 拥塞控制原理

分组重传作为网络拥塞的征兆

端到端的拥塞控制:IP层不会向端系统提供有关网络拥塞的反馈信息,通过超时或3次冗余确认得知

网络辅助的拥塞控制:路由器向发送方提供关于网络中拥塞状态的显示反馈信息

7. TCP拥塞控制—端到端拥塞控制,拥塞窗口cwnd

加性增,乘性减(AIMD)

  • 慢启动

当一条TCP连接开始时,cwnd的值以1个MSS开始并且每当传输的报文段首次被确认就增加一个MSS。

起始速率慢,以指数增长。

超时 — 慢启动结束,cwnd重新设置为1并重新开始慢启动,阈值设置为cwnd/2

cwnd=阈值 — 慢启动结束,进入拥塞避免

3个冗余ACK — 慢启动结束,快速重传并进入快速恢复

  • 拥塞避免

每个RTT只将cwnd的值增加一个MSS

超时 — 拥塞避免结束,cwnd设置为1个MSS,与慢启动相同

3个冗余ACK — cwnd减半,阈值为减半的cwnd,进入快速恢复

  • 快速恢复

超时 — 同慢启动

3个冗余ACK — cwnd设置为1,阈值为cwnd/2

不论是超时还是丢包,都将cwnd设置为1并进入慢启动

 

网络层

数据报

三个重要组件:IP协议,路由选择协议,因特网控制报文协议(ICMP)

提供了主机之间的逻辑通信,网际协议(IP)—尽力而为交付服务,不可靠服务

转发:分组在单一的路由器中从一条入链路到一条出链路的传送

路由选择:涉及一个网络中的所有路由器,经过路由选择协议共同交互,以决定分组从源到目的所采用的路径—路由选择算法

转发表(每台路由器均有):通过检查分组的首部字段的值,然后索引查询。将目的地址映射到链路接口

路由选择算法决定了插入路由器的转发表的值,分布式,集中式

虚电路(VC):仅在网络层提供连接服务的计算机网络   ,VC号

数据报网络:仅在网络层提供无连接服务的计算机网络   —   因特网,使用分组的目的地址转发分组

最长前缀匹配规则,路由器不维持连接的状态信息

路由器的工作原理:

输入端口

交换结构:内存交换,总线交换,经过互联网络交换

输出端口

路由选择处理器:执行路由选择协议

网际协议(IP)

1. 数据报格式

版本号(IP协议版本,4bit)   首部长度(4bit,一般为20字节)    服务类型(8bit)     数据报长度(16bit,首部+数据)

标识(16bit)   标志(3bit)   偏移(13bit)         —与分片有关

寿命(8bit)   上层协议(8bit,将网络层和运输层绑定)    首部校验和(16bit)

源IP地址 (32bit)

目的IP地址 (32bit)

选项

数据

2. 数据报分片

最大传送单元(MTU):一个链路层帧能承载的最大数据量

最后一片的标志比特被设为0,其他所有片的标志比特设为1

3. IPv4编址

每个IP地址有32bit,点分十进制

子网划分:无类别域间路由选择器,分类编址

路由聚合

动态主机配置协议(DHCP):允许主机自动获取IP地址。即插即用协议。

  • DHCP发现:客户在UDP分组向端口67发送DHCP发现报文,目的地址255.255.255.255,源地址0.0.0.0
  • DHCP服务器提供:目的地址255.255.255.255
  • DHCP请求:客户向选中的服务器发送DHCP请求报文
  • DHCP ACK:对DHCP请求报文进行相应

网络地址转换(NAT):使路由器对外界隐藏了家庭网络中的细节

                                        NAT转换表

4. IPv6编址

数据报格式(40字节的定长首部)

版本(4bit)   流量类型(8bit)    流标签(20bit)

有效载荷长度(16bit)     下一个首部   跳限制

源地址(128bit)

目的地址(128bit)

数据

5. IPv6   v.s.   IPv4

  • IPv6不允许在中间路由器上进行分片和重新组装
  • IPv6没有首部检验和字段
  • IPv6首部没有选项字段

6. IPv4到IPv6的迁移

隧道,双栈

路由选择算法

链路状态算法(LS):完整的,全局性的网络知识,每个节点向网络中所有其他节点广播链路状态分组,dijkstra算法

距离向量算法(DV):迭代,分布式的方式,每个节点与直接相连的邻居通信,floyd算法

自治系统(AS)内部的路由选择协议

  • RIP(路由选择信息协议):基于距离向量,跳数作为费用,基于UDP的应用层协议
  • OSPF(开放最短路径优先):基于链路状态

网关路由器

自治系统间的路由选择协议

  • BGP(边际网关协议)

广播路由选择算法

  • 无控制洪泛:源节点向所有邻居发送分组的副本—广播风暴
  • 受控洪泛:序号控制洪泛,反向路径转发
  • 生成树广播

多播

链路层

链路层帧

广播信道:多个发送和接收节点都连接到相同的、单一的、共享的广播信道上    多路访问协议

点对点通信链路:单个发送方,单个接收方    点对点协议(PPP)

多路访问协议

  • 信道划分协议:时分多路复用(TDM),频分多路复用(FDM),码分多址(CDMA)
  • 随机接入协议:时隙ALOHA协议(时钟同步),ALOHA协议

                                载波侦听多路访问(CSMA),具有碰撞检测的载波侦听多路访问(CSMA/CD)

  • 轮流协议:轮询协议(主节点),令牌传递协议

地址解析协议(ARP):将IP地址转换为链路层地址(LAN地址,物理地址,MAC地址)   6字节

MAC广播地址:FF-FF-FF-FF-FF-FF

ARP表:IP地址到MAC地址的映射关系

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值