考研课程计算机网络的学习笔记,比较浅的知识点,用于应付笔试面试中的网络题
一、计算机网络体系结构
1、计算机网络的概念、组成和功能 1. 概念
按照网络协议(语法,语义,同步),以共享资源和传递信息为主要目的,将地理上分散且功能独立的计算机通过通信线路互连起来构成的集合体。简言之,计算机网络就是一些互连的、自治的计算机的集合。 2. 组成
从逻辑功能上说计算机网络有如下组成
(1)通信子网:由各种传输介质、通信设备和相应的网络协议组成,它为网络提供数据传输,交换和控制能力,实现联网计算机之间的数据通信
(2)资源子网:由主机、终端以及各种软件资源、信息资源组成,负责全网的数据处理业务,向网络用户提供各种网络资源与服务。 3. 功能
数据通信(连接控制、传输控制、差错控制、流量控制、路由选择、多路复用);资源共享(软件、硬件和数据资源共享);信息综合处理;负载均衡;提高可靠性;分布式处理 2. 计算机网络的分类 分类方式 分类 传输技术
广播式网络、点对点网络
广域网(WAN)、城域网(MAN)、接入网(AN)、局域网(LAN) 电路交换、报文交换、分组交换、混合交换(电路和分组)
网络的作用范围 网络的交换功能
网络的使用者 公用网、专用网 3. 计算机网络的标准化
1. 1974年,IBM公司公布了它研制的系统网络体系结构(SNA),它是按分层设计的,成为世界上使用的较广泛的一种网络体系结构
2. 为了使不同体系结构的计算机网络能够互连,国际标准化组织ISO成立了专门机构,设计出了开放式系统互联基本参考模型(OSI/RM)
3. 由于OSI过于复杂,现今的因特网使用的TCP/IP协议,TCP/IP协议成为实际上的国际标准
4. 计算机网络体系结构的基本概念 1.网络协议
网络协议是为进行网络中的数据交换而建立的规则、标准或约定。它规定了所交换的数据格式以及有关的同步问题。由三个要素组成:语法、语义、同步 2. 分层结构 分成的优点:
各层之间相互独立;灵活性好;结构上可分开;易于实现和维护;能促进标准化工作 每层具备如下功能:
差多控制;流量控制;分段和重装;复用和分用;建立连接和释放 3. 网络体系结构
计算机网络的各层以及其协议的集合成为网络的体系结构。 4. 实体、接口和服务
实体:任何可发送或接受信息的硬件和软件进程。不同结点上同一层实体称作对等实体。许多情况下实体就是一个软件模块
接口:表示同一结点相邻层之间交换信息的连接点,下层通过接口向上层提供服务 服务:各层向它的直接上层提供的一组原语或操作。分为面向连接服务和无连接服务。
5. 开放系统互连(OSI)参考模型 分层 物理层 理解 对每一层的每一步定义和功能 规定了激活、维持、关闭通信断点之间规程特性 协议 略 数据单位 Bit 怎样利用物理媒介 的机械特性、电气特性、功能特性以及数据链路层 每一步该怎么走 在不可靠的物理介质上提供可靠的传输。作用:物理地址寻址、数据成帧、流量控制、数据检错和重发。为了保证传输,从网络层接收到的数据被分割成特定的可被物理层传输的帧 HDLC、SDLC、帧 PPP、STP、帧中继 网络层/IP层 走哪条路可以到达 主要功能是将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方。负责对子网间的数据包进行路由选择和为分组交换网上的不同主机提供通信(主机到主机层次的逻辑通信),还有拥塞控制、网际互联功能 IP、IPX、RIP、分组/OSPF 数据包 传输层 对方在何处 负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。提供差错控制和流量控制 TCP、UDP、SPX 报文 会话层 表示层 对方是谁 管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。 对方看起来像什么 对上层数据或信息进行交换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩和格式转换 应用层 做什么 为OS或网络应用程序提供访问网络服务的接口 TELNETSNMP 、 FTP、HTTP、
6. TCP/IP体系结构
7. 计算机网络的主要性能指标 带宽:
在过去通信干线用来传送模拟信号时带宽是指信号最高频率与最低频率之差,单位为Hz。 数字信号中带宽表示“最高数据率”,即数字信道每秒能传送的比特数,单位bit/s,有时也称作吞吐量或者信息传输率 时延:
指讲数据从通信网的一端传送到另一端所需要的时间。包括: 发送时延: 传播时延: 处理时延:
二、TCP/IP详解 1. 基本概念
1. TCP/IP协议分层
1) 链路层(数据链路层/网络接口层)通常包括OS中的设备驱动程序和计算机中对应的网卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
2) 网络层(互联网层)处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(internet互联网控制报文协议),以及IGMP协议(internet组治理协议)。
3) 运输层,主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议: TCP(传输控制协议)和UDP(用户数据报协议)。
TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。
UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。 4) 应用层,负责处理特定的应用程序细节。几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序:
Telnet 远程登录;FTP 文件传输协议;SMTP 简单邮件传送协议;SNMP 简单网络治理协议。
2. 基本概念 ip地址
域名系统:域名系统是一个分布的数据库,它提供将主机名(就是网址啦)转换成IP地址的服务
RFC:tcp/ip协议的标准文档
port:这个号码是用在TCP,UDP上的一个逻辑号码,并不是一个硬件端口,我们平时说把某某端口封掉了,也只是在IP层次把带有这个号码的IP包给过滤掉了而已
应用编程接口:常用的编程接口有socket和TLI
2. 数据链路层
数据链路层有三个目的:
为IP模块发送和 接收IP数据报。
为ARP(地址解析协议)模块发送ARP请求和接收ARP应答。 为RARP(逆地址解析协议)发送RARP请 求和接收RARP应答
3. 协议介绍 1. IP协议
IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格式传输。要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未传达以后的处理机制--这被认为是上层协议--TCP或UDP要做的事情。所以这也就出现了TCP是一个可靠的协议,而UDP就没有那么可靠的区别。
协议头
TTL字段(8位)规定该数据包在穿过多少个路由之后才会被抛弃(这里就体现出来IP协议包的不可靠性,它不保证数据被送达),某个ip数据包每穿过一个路由器,该数据包的TTL数值就会减少1,当该数据包的TTL成为零,它就会被自动抛弃。这个字段的最大值也就是255,也就是说一个协议包也就在路由器里面穿行255次就会被抛弃了,根据系统的不同,这个数字也不一样。
IP路由选择
当一个IP数据包准备好了的时候,IP数据包(或者说是路由器)是如何将数据包送到目的地的呢它是怎么选择一个合适的路径来\送货\的呢 最特殊的情况是目的主机和主机直连,那么主机根本不用寻找路由,直接把数据传递过去就可以了。至于是怎么直接传递的,这就要靠ARP协议了,后面会讲到。
稍微一般一点的情况是,主机通过若干个路由器(router)和目的主机连接。那么路由器就要通过ip包的信息来为ip包寻找到一个合适的目标来进行传递,比如合适的主机,或者合适的路由。路由器或者主机将会用如下的方式来处理某一个IP数据包
如果IP数据包的TTL(生命周期)以到,则该IP数据包就被抛弃。
搜索路由表,优先搜索匹配主机,如果能找到和IP地址完全一致的目标主机,则将该包发向目标主机
搜索路由表,如果匹配主机失败,则匹配同子网的路由器,这需要“子网掩码.)”的协助。如果找到路由器,则将该包发向路由器。
搜索路由表,如果匹配同子网路由器失败,则匹配同网号(第一章有讲解)路由器,如果找到路由器,则将该包发向路由器。
搜索路由表,如果以上都失败了,就搜索默认路由,如果默认路由存在,则发包 如果都失败了,就丢掉这个包。
这再一次证明了,ip包是不可靠的。因为它不保证送达。
.子网寻址
IP地址的定义是网络号+主机号。但是现在所有的主机都要求子网编址,也就是说,把主机号在细分成子网号+主机号。最终一个IP地址就成为 网络号码+子网号+主机号。例如一个B类地址:。一般情况下,这个IP地址的红色部分就是网络号,而蓝色部分就是子网号,绿色部分就是主机号。至于有多少位代表子网号这个问题上,这没有一个硬性的规定,取而代之的则是子网掩码。子网掩码是由32bit的二进制数字序列,形式为是一连串的1和一连串的0,例如:对于刚才的那个B类地址,因为是网络号,那么后面的就是子网号和主机号的组合,又因为子网掩码只有后八bit为0,所以主机号就是IP地址的后八个bit,就是134,