面试时,面试官如果想考查你机算机网络学得怎么样,怎么说也得问下TCP三次握手的过程吧?
so, 我4月24号就开始复习计算机网络,断断续续复习了3天吧。
ISP: Internet Service Provider 因特网服务提供商
Eg: 中国电信、中国联通和中国移动
路由器是一种专用计算机。路由器实现分组交换(packet switching)的关键构件。其任务是转发收到的分组。
- 电路交换--整个报文的比特流连续地从源点直达终点,好像在一个管道中传送
- 报文交换--整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点
- 分组交换--单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点
网络分类
- 广域网-WAN(Wide Area Network)
- 城域网-MAN(Metropolitan Area Network) 范围: 城市
- 局域网-LAN(Local Area Network) eg: 校园网 or 企业网
- 个人区域网-PAN(Personal Area Network) eg: 电脑用无线技术连接起来的网络(wifi)
OSI,TCP/IP,五层协议的体系结构,以及各层协议
OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。
五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。
结合OSI和TCP/IP产生了一个五层结构,分别为:物理层、数据链路层、网络层、传输层和应用层。Internet就是采用的TCP/IP协议
每一层的作用如下:
- 物理层:通过媒介传输比特,确定机械及电气规范(比特Bit)
- 数据链路层:将比特组装成帧和点到点的传递(帧Frame)
- 网络层:负责数据包从源到宿的传递和网际互连(包PackeT)
- 传输层:提供端到端的可靠报文传递和错误恢复(段Segment)
- 会话层:建立、管理和终止会话(会话协议数据单元SPDU)
- 表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)
- 应用层:允许访问OSI环境的手段(应用协议数据单元APDU)
频分复用:所有用户在同样的时间占用不同的频率带宽。
时分复用:所有用户在不同的时间占用同样的频带宽度。
点对点信道的数据链路层的协议数据单元--帧
数据链路层的三个基本问题:
- 封装成帧:给一段数据的前后分别添加首部和尾部,构成帧
- 透明传输
- 差错检测:循环冗余检验CRC差错检测技术
帧的数据部分长度上限--最大传送单元MTU(Maximum Transfer Unit)
CRC是一种检错方法,FCS是添加在数据后面的冗余码。
PPP协议:用户计算机和ISP进行通信时所使用的数据链路层协议。
PPP帧的格式:75页
适配器(网卡):负责把帧发送到局域网 及 从局域网接收帧
适配器接收和发送各种帧不使用计算机的CPU,适配器上面装有处理器和存储器(包括RAM和ROM)
广播通信方式:当一台计算机发送数据时,总线上的所有计算机都能检测到这个数据。
CSMA/CD协议:一个站不可能同时边发送和接收(但必须边发送边监听信道)
发送的不确定性:每一个站在自己发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。这一小段时间是不确定的,它取决于另一个发送数据的站到本站的距离。
争用期(碰撞窗口):以太网的端到端往返时间2i
经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。这时,就可以放心把这一帧数据顺利发送完毕。
以太网的争用期确定为51.2us
以太网规定了一个最短帧长64字节,即512bit。如果发送的数据非常少,那么必须加入一些填充字节,使帧长不小于64字节。
以太网在发送数据时,如果在争用期(共发送了64字节)没有发生碰撞,那么后续发送的数据就一定不会发生冲突。
凡长度小于64字节的帧都是由于冲突而异常中止的无效帧。
如果在争用期内检测出发生了碰撞,那么还要再推迟一段时间再把这个暂时保留的帧和重传一次。
适配器有过滤功能:从网络每收到一个MAC帧就先用硬件检查MAC帧中的目的地址。如果是发往本站的帧则收下,否则就将此帧丢弃。
"发往本站的帧"包括以下三种帧:
- 单播(unicast)帧(一对一):收到的帧的MAC地址与本站的硬件地址相同
- 广播(broadcast)帧(一对全体):发送给本局域网上所有的站点的帧(全1地址)
- 多播(multicast)帧(一对多):发送给本局域网上一部分站点的帧
硬件地址(或称为物理地址/MAC地址)。
在生产适配器时,这种6字节的MAC地址已被固化在适配器的ROM中。
MAC帧的格式:92页
集线器:使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议。一个集线器有许多接口。
数据链路层扩展以太网要使用网桥(bridge)。网桥工作在数据链路层,根据MAC帧的目的地址对收到的帧进行转发和过滤。
网桥依靠转发表来转发帧。转发表也叫做路由目录 or 转发数据库。 95页
透明网桥(transparent bridge):目前使用得最多。不用人工配置转发表,网桥就能工作。是一种即插即用设备。
网桥通过自学习算法(self-learning)处理收到的帧(逐步建立起转发表),并且按照转发表把帧转发出去。 98-重要
以太网交换机实际上是一个多接口的网桥。
交换机最大优点:每个接口到主机的带宽是10Mb/s。对于拥有N对接口的交换机的总容量为N*10Mb/s.
以太网帧格式:102页
虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,这些网段有共同的需求。虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标识符,称为VLAN标记(tag)。用来指明发送该帧的工作站属于哪一个局域网。
A类地址网络号:126个,即2^7-2=126;
减2的原因:IP地址中全0表示"本网络"。网络号为127(0111 1111)保留作为本地软件环回测试(loopback test)本主机的进程之间的通信之用。
A类地址主机号占3字节,因此每一个A类网络中的最大主机数是2^24-2;
减2的原因:全0的主机号字段表示该IP地址是"本主机"所连接到的单个网络地址;
(一主机的IP地址为5.6.7.8,则该主机所在的网络地址是5.0.0.0)
而全1表示"所有的",因此全1的主机号字段表示该网络上的所有主机。
路由器总是具有两个或两个以上的IP地址。即路由器的每一个接口都有一个不同网络号的IP地址。 121页
ARP是地址解析协议,简单语言解释一下工作原理。
1、首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
2、当源主机要发送数据时,首先检查ARP列表中是否有目的主机的IP地址。如果有,就在ARP高速缓存中查出对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把该MAC帧发往此硬件地址。
如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机IP地址,源主机MAC地址,目的主机的IP地址。
3、当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
4、源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
广播发送ARP请求,单播发送ARP响应。
IP地址与子网掩码相与&得到主机号
网际控制报文协议ICMP(Internet Control Message Protocol)
ICMP报文的种类有两种,即ICMP差错报文和ICMP询问报文
ICMP询问报文:
- 回送请求和回答:由主机或路由器向一个特定的目的主机发出的询问。收到此报文的主机必须给源主机或路由器发送ICMP回答报文。
- 时间戳请求和回答:请某个主机或路由器回答当前的日期和时间。
PING:用来测试两个主机之间的连通性。
ping是应用层直接使用网络层ICMP的一个例子。它没有通过运输层的TCP或UDP
RIP与OSPF
虚拟专用网
对于这些仅在机构内部使用的计算机就可以由本机构自行分配其IP地址。这就是说,让这些计算机使用仅在本机构有效的IP地址(称为本地地址),而不需要向因特网的管理机构申请全球唯一的IP地址(称为全球地址)。这样就可以大大节约宝贵的全球IP地址资源。
专用地址(private address):只能用于一个机构的内部通信,而不能用于和因特网上的主机通信。即专用地址只能用作本地地址而不能用作全球地址。
在因特网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发。
专用地址:
- 10.0.0.0到10.255.255.255
- 172.16.0.0到172.31.255.255
- 192.168.0.0到192.168.255.255
TCP和UDP的区别?
TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。
TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报。
TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。
DNS域名系统,简单描述其工作原理。
域名服务器是保存网络中所有主机域名和对应IP地址,并将域名转换为IP地址的服务器。
面向连接和非面向连接的服务的特点是什么?
面向连接的服务,通信双方在进行通信之前,要先在双方建立起一个完整的可以彼此沟通的通道,在通信过程中,整个连接的情况一直可以被实时地监控和管理。
非面向连接的服务,不需要预先建立一个联络两个通信节点的连接,需要通信的时候,发送节点就可以往网络上发送信息,让信息自主地在网络上去传,一般在传输的过程中不再加以监控。
端口及对应的服务?
TCP对应的协议和UDP对应的协议
TCP对应的协议:
- FTP:定义了文件传输协议,使用21端口。
- Telnet:一种用于远程登陆的端口,使用23端口,用户可以以自己的身份远程连接到计算机上,可提供基于DOS模式下的通信服务。
- SMTP:邮件传送协议,用于发送邮件。服务器开放的是25号端口。
- POP3:它是和SMTP对应,POP3用于接收邮件。POP3协议所用的是110端口。
- HTTP:是从Web服务器传输超文本到本地浏览器的传送协议。
UDP对应的协议:
- DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。
- SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。
- TFTP(Trival File Transfer Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。