计算机网络复习-研一上

网络知识点

体系结构

OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。
五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。
每一层的协议如下:
物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器)
数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机)
网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器)
传输层:TCP、UDP、SPX
会话层:NFS、SQL、NETBIOS、RPC
表示层:JPEG、MPEG、ASII
应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS
每一层的作用如下:
物理层:通过媒介传输比特,确定机械及电气规范(比特Bit)
数据链路层:将比特组装成帧和点到点的传递(帧Frame)
网络层:负责数据包从源到宿的传递和网际互连(包PackeT)
传输层:提供端到端的可靠报文传递和错误恢复(段Segment)
会话层:建立、管理和终止会话(会话协议数据单元SPDU)
表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)
应用层:允许访问OSI环境的手段(应用协议数据单元APDU)

各种协议

:ICMP协议: 因特网控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
TFTP协议: 是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
HTTP协议: 超文本传输协议,是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。
NAT协议:网络地址转换属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,
DHCP协议:动态主机配置协议,是一种让系统得以连接到网络上,并获取所需要的配置参数手段,使用UDP协议工作。具体用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。

IP地址

IP地址的三种分类方式

http://blog.csdn.net/nineteen_/article/details/50131981

IP地址是给因特网上的每一个主机或者是路由器的每一个接口(注意是接口,而不是主机或者是路由器本身)分配的一个在全世界范围中唯一的32位的标识符。IP地址是由ICANN(Internet Corporation for Assigned Names and Numbers)机构进行分配的。

IP地址现在有三种编址方法:

(1)分类的IP地址

(2)子网的划分

(3)构成超网

下面将依次介绍这三种编址方式:

1、分类的IP地址:

顾名思义,分类的IP地址就是将IP地址划分为了2个固定长度的字段组成,第一个字段是网络号(net-id),代表所连接到的网络。第二个字段是主机号(host-id),代表了主机或者是路由器。在这种编址方式中将IP地址划分了5类,A、B、C、D、E这五类,其中A、B、C三类地址中网络号依次占了8、16、24位,并且在网络号的最开始设置了类别位,分别为0、10、110。前三类都是用于单播的,D类地址(类别位是1110)用于多播,E类地址(类别位是1111)保留下来,为以后使用。

为了提高可读性,常常将32位地址中每隔8位就加上一个点,这叫做点分十进制记法(dotted decimal notation)。也就是我们常在自己电脑上看见的那种形式。

A类地址:以0开头,   第一个字节范围:1~127(1.0.0.0 - 127.255.255.255);

B类地址:以10开头,  第一个字节范围:128~191(128.0.0.0 - 191.255.255.255);

C类地址:以110开头, 第一个字节范围:192~223(192.0.0.0 - 223.255.255.255);

D类地址:以1110开头,第一个字节范围:224~239(224.0.0.0 - 239.255.255.255);(作为多播使用)

E类地址:保留

其中A、B、C是基本类,D、E类作为多播和保留使用。

以下是留用的内部私有地址:

A类 10.0.0.0--10.255.255.255

B类 172.16.0.0--172.31.255.255

C类 192.168.0.0--192.168.255.255

IP地址与子网掩码相与得到网络号:

ip       : 192.168.2.110

&

Submask : 255.255.255.0

----------------------------

网络号   :192.168.2  .0

注:

主机号,全为0的是网络号(例如:192.168.2.0),主机号全为1的为广播地址(192.168.2.255)

2、子网的划分(subnetting)

对于第一种编址方法,我们可以通过分析得出他的一些缺点:

(1)由于第一种方法将IP地址(单播)分为了三类,而每一类的数量又是固定的,所以就造成了很多机构单位去申请的时候不知道应该选用哪种,例如,申请一个B类地址,利用的连1%都不到,但是如果换为C类地址的话,又考虑到以后可能会扩展,怕地址数量不够。

(2)给每一网络都分配一个网络号,会使得路由表变得很大,这样不仅仅降低了效率,也增加了路由器的成本。

(3)如果某些单位希望立即开通一个网络进行使用,按照第一种编址方法是不能实现的,因为要获取到一个IP地址,必须去ICNAA申请。

为了解决上面叙述的问题,这时候就推出了划分子网的编址方式(也有说法叫子网寻址,子网路由选择),划分子网是给每个单位机构,自己内部的事情,在因特网中是看不见的,因为这个单位机构对因特网仍然表现为一个整体的网络。

在划分子网的编址方法中,IP地址变成了三部分组成(原来只有两个部分,网络号和主机号),网络号,子网号,主机号。子网号是从原来的主机号借来的。

这里还需要了解子网掩码的使用,原因是:IP数据报的首部不能看出源主机或者目的主机所连接的网络是否进行了子网的划分。那么怎么去使用子网掩码呢,子网掩码使用二进制表示的话,网络号和子网号的每一个位上都是1,主机号上的每一个位都是0。然后将三级的IP地址与子网掩码进行逐位的“与”操作,的出来的IP地址就是子网的网络地址。现在因特网的标准规定,对于所有的网络都必须使用子网掩码,同时在路由表中也应该有子网掩码这一栏。

3、构成超网

了解了子网划分的编址方法后,这里还存在这几个问题:

(1)整个IPv4上的地址空间最终将被耗尽(2011年2月3日,IANA就宣布了IPv4地址已经耗尽)

(2)因特网的主干网上的路由表中的项目增加很快

为了解决这两个问题,又有一种编址方式出现了,无分类域间路由选择CIDR(Classless Inter-Domain Routing)。这种新的编址方式将IP地址又从三级地址变成了两级地址,同时,CIDR消除了传统的A、B、C类地址和子网划分的概念,原因是让IPv4的地址更加高效地被分配。取而代之的是,网络前缀(network-prefix)和主机地址,以及“斜线记法”(slash
notation),或者是CIDR记法。即在IP地址后面加上斜线/,然后写上网络前缀的位数。

CIDR不使用子网划分只是说不再像以前那样指明哪几个字段是子网字段,但是由于现在仍然有网络在使用子网划分和子网掩码,所以CIDR也使用了32位的地址掩码,同样的,地址掩码也是由1和0组成的,1的个数就是网络前缀的长度。也可以称地址掩码为子网掩码。

使用CIDR来记录IP地址,由于CIDR记法能够表示网络前缀的位数,就产生了CIDR地址块,一个地址块中有很多的地址,在路由器中就利用CIDR地址块来查找目的网络。这种地址的聚合称为路由聚合(route aggregation)或者是构成超网(supernetting)。

由于编址方法变化了,那么在路由器中的项目也应该作相应的改变。现在,每个项目由“网络前缀”和“下一级跳转的地址”组成。当路由器查找路由表的时候发现了不止一条结果,这时候就采用最长前缀匹配(longest-prifix matching)。因为网络前缀越长,地址块中的地址就越少,也就是越具体。

ARP地址解析协议

1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
2:当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机 IP地址,源主机MAC地址,目的主机的IP 地址。
3:当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
4:源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
广播发送ARP请求,单播发送ARP响应。

RARP协议

RARP是逆地址解析协议,作用是完成硬件地址到IP地址的映射,主要用于无盘工作站,因为给无盘工作站配置的IP地址不能保存。工作流程:在网络中配置一台RARP服务器,里面保存着IP地址和MAC地址的映射关系,当无盘工作站启动后,就封装一个RARP数据包,里面有其MAC地址,然后广播到网络上去,当服务器收到请求包后,就查找对应的MAC地址的IP地址装入响应报文中发回给请求者。因为需要广播请求报文,因此RARP只能用于具有广播能力的网络。

TCP

TCP状态迁移

TCP连接的11种状态
一条TCP连接在其生存期内会经历一系列状态。TCP连接包含11个状态。分别是:LISTEN、SYN_SENT、SYN_RECEIVED、ESTABLISHED、FIN_WAIT_1、FIN_WAIT_2、CLOSE_WAIT、CLOSING、LAST_ACK、TIME_WAIT以及最终状态CLOSED。状态转换图如下所示:

TCP状态迁移图

简单分析下状态含义以及转换的过程:

CLOSED :是一个虚拟的状态,它代表一条连接结束时的状态。
LISTEN :表示服务端正在等待来自TCP客户端的连接请求。服务端为此要调用bind()以及listen()函数。
SYN_SENT : 客户端发起连接,发送SYN给服务端后,进入此状态。
SYN_RECEIVED : 服务端接收到客户端的SYN请求,服务端由LISTEN状态进入SYN_RECEIVED状态,同时发送一个ACK和一个SYN给客户端。另一种情况 是客户端发送SYN的同时接收到服务器的SYN请求,客户端就会由SYN_SENT状态进入SYN_RECEIVED状态。
ESTABLISHED : 表示经过三次握手,连接已经建立,可以在两个方向上传输数据。这是一条连接在数据传输阶段的常见状态。
FIN_WAIT_1 : 主动关闭的一方发送FIN,由ESTABLISHED状态进入FIN_WAIT_1状态。
FIN_WAIT_2 : 主动关闭的一方,接收到对方的FIN ACK,由FIN_WAIT_1 状态,进入FIN_WAIT_2 状态。
CLOSE_WAIT : 被动关闭的一方,在接收到FIN后,由ESTABLISHED状态进入此状态。
CLOSING : 这种状态表示此时双方刚好可能都在关闭连接,即客户端向服务器发送FIN报文,进入FIN_WAIT_1状态后,没有收到服务器发来的ACK报文,反而受到服务器发来的FIN报文,说明此时客户端和服务器同时发起关闭连接,随后,客户端进入CLOSING状态。
LAST_ACK : 被动关闭的一方,发起关闭请求,由CLOSE_WAIT状态,进入此状态。在接收到ACK后,会进入CLOSED状态。
TIME_WAIT : 有3个状态可以转化为TIME_WAIT状态。

由FIN_WAIT_2进入此状态:在双方不同时发起FIN的情况下,主动关闭的一方在完成自身发起的关闭请求后,接收到被动关闭一方的FIN后进入的状态。
由CLOSING状态进入:双方同时发起关闭,都做了发起FIN的请求,同时接收到了FIN并做了ACK的情况下,由CLOSING状态进入。
由FIN_WAIT_1状态进入:同时接受到FIN(对方发起),ACK(本身发起的FIN回应),与2的区别在于本身发起的FIN回应的ACK先于对方的FIN请求到达,而2是FIN先到达。这种情况概率最小。
CLOSED : 在超时或者连接关闭时候进入此状态。

关闭连接的三种方式
在结束一条连接的时候任一方都需要独立地关闭属于自己的一般连接。因此,TCP的一端可能通过下列三种状态迁移方式,将连接从ESTABLISHED状态,转换到CLOSED状态。
一端先关闭:
ESTABLISHED -> FIN_WAIT_1 -> FIN_WAIT_2 -> TIME_WAIT -> CLOSED
另一端先关闭:
ESTABLISHED -> CLOSED_WAIT -> LAST_ACK -> CLOSED
两端同时关闭:
ESTABLISHED -> FIN_WAIT_1 -> CLOSING -> TIME_WAIT -> CLOSED

TIME_WAIT状态分析
为什么关闭连接后,不直接进入CLOSED状态,而是先进入TIME_WAIT状态,再进入CLOSED状态呢?

当连接出于TIME_WAIT 状态时,要等待2MSL的时间,才能迁移到CLOSED状态。

一种情况,因为TCP连接的本地端,需要发送一个ACK报文以确认另一端的FIN报文,然而它并不确定这个ACK报文是否已成功交付。另一端,如果没有收到ACK报文,就会重传FIN报文。在这种情况下,TIME_WAIT状态的作用就是等待,以在有需要时重传ACK。

假设目前连接的通信双方都已经调用了close(),双方同时进入CLOSED的终结状态,而没有走TIME_WAIT状态。会出现如下问题,现在有一个新的连接被建立起来,使用的IP地址与端口与先前的完全相同,后建立的连接是原先连接的一个完全复用。还假定原先的连接中有数据报残存于网络之中,这样新的连接收到的数据报中有可能是先前连接的数据报。为了防止这一点,TCP不允许新连接复用TIME_WAIT状态下的socket。处于TIME_WAIT状态的socket在等待两倍的MSL时间以后,将会转变为CLOSED状态。这就意味着,一个成功建立的连接,必然使得先前网络中残余的数据报都丢失了。

MSL就是maximum segment lifetime(最大分节生命期),这是一个IP数据包能在互联网上生存的最长时间,超过这个时间IP数据包将在网络中消失 。MSL在RFC 1122上建议是2分钟,而源自berkeley的TCP实现传统上使用30秒。

TCP三次握手和四次挥手

三次握手:
第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。
四次挥手
与建立连接的“三次握手”类似,断开一个TCP连接则需要“四次握手”。
第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不 会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可 以接受数据。
第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。
第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。
第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。

理解tcp重传

https://toutiao.io/posts/mkdapk
一分钟理解TCP重传
原创 2017-12-14 fireflyc 写程序的康德
为什么需要重传

任何信息在介质中传输可能丢失,这是由于传输介质的物理特性决定的,所以网络不可能被设计为“可靠的”(不是由于考虑“性能”原因而是压根做不到)。既然物理层无法提供可靠数据传输那么只能由协议提供可靠传输了,其中最有名的协议就是TCP了。

TCP是基于IP的网络协议,它提供可靠、有序的数据传输。在数据传输之前客户端和服务器端通过三次握手建立连接,建立连接的就是双方交换Seq(数据包序号)、MSS(每个TCP数据包大小) 、Win(滑动窗口,一次可以确认多少个TCP数据包),连接建立完成后每个TCP数据包都要被ACK(确认)。简单来说TCP通过确认/重传机制实现了“数据包可靠传输”。

重传原理

TCP数据包头部包含了两个字段——Seq表示数据包序号,ACK表示确认序号。下面演示了三次握手过程中Seq和ACK的变化过程。

客户端随机取一个值x作为Seq发送到服务器端;服务器端回复一个TCP数据包,头部包含Seq(随机值y),ACK=x+1。注意这里有一个常见的误区,ack确认的是当前数据包的“下一个”数据包,ack其实可以作为“期望得到的下一个seq”。客户端收到服务器端回复之后单独回复一个ack=y+1,就完成TCP的握手了。

后续数据包传递都会延续seq和ack的值,如果发送端某个数据包丢失了那么接收端不会发送ack(其实是duplicate ack),发送端在等待一段时间后发现没有ack,于是主动重发数据包。发送端的等待的时间叫RTO(Retransmission TimeOut)。

RTO的选择很重要,如果太大那么网络带宽利用率会特别低,发送端要过很久才知道要重传而此时要重传的数据是在太多严重浪费带宽资源。如果太小在高延时的网络高带宽(恩,你访问国外网站就属于这种网络)中也会浪费带宽资源。于是就有了Fast Retransmit机制,简单来说当发送端发现来自接收端的多个重复ACK(duplicate ack)的时候就不再等待RTO而是直接选择重发。

总结一下:经典TCP重发是发送端主动重发的,当数据包经历了一段时间后还没有被接收端确认此时发送端主动重发数据包。Fast Retransmit是由接收端主动要求重发的,当接收端收到了“不想要”的数据包时会重复ACK“上一个”数据包从而触发发送端的重发。这两种重发策略一般是同时使用,它们是互补的。

举个例子:发送端有D1(1-10)、D2(11-20)、D3(21-30)、D4(31-40)四个数据包要发送,每个数据包10bytes用括号内的数字表示。

乱序的情况:接收端收到D1,发送ack=11(D2的序号)。如果在发送过程中D4在D1之后达由于D4携带的seq=31所以接收端会丢弃这个数据包然后再次发送ack=11。此时发送端会收到两个ack(duplicate ack)如果开启了Fast Retransmit特性那么发送端立即从D2开始重新发送。
丢包的情况:接收端收到D1,发送ack=11(D2的序号)。如果在发送过程中D2丢失那么后续到达的包是D3,由于D3携带的seq=21所以接收端会丢弃这个数据包然后再次发送ack=11。此时发送端也会出现duplicate ack从而触发重传。
如果接收端的ACK数据包丢失了或者网络时延太高那么也会触发重传。因为发送端对每个数据包都设置了一个RTO,如果到时间没有收到ACK它会“主动”重发数据包。

Q&A

Q:多线程对一个Socket写入是否会触发TCP重发?程序上是否要考虑“乱序”?

A:首先要搞清楚一点,我们往Socket写入的数据是“应用层数据包”而不是TCP数据包。TCP/IP协议栈会把应用层数据包划分出多个TCP数据包发送出去,每次write都会生成N个连续的TCP数据包。所以即便我们多线程往Socket写入也不会出现TCP数据包的乱序(应用层数据包可能是乱序的)。

Q:重传和拥塞控制有什么关系?

A:TCP拥塞控制是指尽可能的利用带宽,它围绕4个核心概念展开:慢启动、拥塞避免和快速重传、快速恢复。其中快速重传、快速恢复属于TCP重传机制,慢启动是指对滑动窗口的控制,拥塞避免好重传机制有一定关系,如果存在大量重传那么网络上可能出现了拥塞(拥塞避免的关键是识别拥塞)。

Q:怎么看“替代TCP”的说法?

A:TCP最遭人诟病的就是它的重传机制不可控。如果网络延时比较高或者质量比较差有一定丢包(特别是移动网络),TCP的重传机制触发“不及时”这就导致应用体验很差。比如一个1000帧的视频丢了第100帧那么后续的900帧都要重传(即便已经收到了)。当然这只是一个例子,视频还是可以做一定“弥补”的),如果是手机游戏(比如王者荣耀、荒野行动)情况就没有这么乐观了。为了尽可能的让“重传”可控于是诞生了各种“替代TCP”的自制协议(大部分是基于UDP),比如Google的QUIC、kcp。我个人对这方面研究不多,总体而言它们牺牲了TCP的一些“通用特性”来换取一定的“灵活性”,所以并不是惊天地泣鬼神的“替代TCP”。

Q:怎么看TCP单边加速

A:TCP单边加速是指针对通讯的某一端做性能加速,市面上有很多这种产品。但是个人觉得这些都是骗人的,并没有一种算法适合所有网络情况。要根据不同的网络情况配置不同的拥塞控制算法。比如“国际链路”属于高延时高带宽,配置了Google的BBR算法“梯子”的速度至少能提高70-80%(你懂得)。

TCP窗口对传输速率的影响

https://mp.weixin.qq.com/s/LX9S3A3i_7hDz39i-DYOBQ

路由协议

题目集锦

ip相关

1.IP地址编址方法正确发展次序:ABC分类地址-->子网划分-->无分类编址CIDR

补充知识点:CIDR(无分类域间路由选择)

CIDR最主要有两个以下特点:

  1. 消除传统的A,B,C地址和划分子网的概念,更有效的分配IPv4的地址空间,CIDR使IP地址又回到无分类的两级编码。记法:IP地址::={<<网络前缀>,<<主机号>}。CIDR还使用“斜线记法”即在IP地址后面加上“/”然后写网络前缀所占的位数。
  2. CIDR把网络前缀都相同的连续IP地址组成一个“CIDR地址块”,即强化路由聚合(构成超网)。

  地址掩码:是一连串的1和0组成,而1的个数救赎网络前缀长度。在斜线记法中。斜线后面的数字就是地址掩码中1的个数。

  构成超网:将网络前缀缩短,网络前缀越短,其地址块所包含的地址数就越多。

CIDR的好处:

  • 路由聚合有利于减少路由之间的路由选择信息交换,从而提升了整个因特网性能。
  • 使用CIDR另一个好处就是可以更有效地分配IPV4的地址空间。

  在使用CIDR中,在查找路由表时可能会得到不止一个匹配结果,这时应当从匹配结构中选择具有最长网络前缀的路由,因为网络前缀越长,其地址块就越小,因而路由就越具体。

  使用CIDR后查找最长前缀匹配,应使用二叉线索,即将无分类编址的路由表放在一层次的数据结构中,自上而下的按层次查找。操作时应先找出每一个IP地址的唯一前缀,唯一前缀就是在表中所有的IP地址中,该前缀是唯一的

  CIDR支持路由归纳,可以将多个地址块聚合在一起,将路由表中的许多路由条目合并为更小的数目,这样减少路由器中路由表的大小,减少路由通告的时间。

2.下列关于210.120.1.128/10的地址块正确的是: 网络号为210.64.0.0/10   广播地址是210.127.255.255  最大IP是210.127.255.254   一共有2^22-2个ip地址

3.网络体系结构可以定义成 
建立和使用通信硬件和软件的一套规则和规范

4.关于传统的分类IP编址方法,正确的说法是 
A类、B类、C类地址都是单传播地址,它们的网络号字段分别是1,2,和3字节长,而在网络号字段的最前面有1~3位的类别位,其数值分为规定为0,10,110。

A类地址的网络号字段占一个字节,只有7位可供使用,但可指派的网络号是126个。 128-2 全0 全1都不要
D类地址(前4位是1110)用于多播,而E类地址(前4位为1111)保留为以后用。

5.以下关于网络体系结构的描述中

  • 网络体系结构是抽象的,而实现是具体的
  • 层次结构的各层之间相对独立
  • 网络体系结构对实现所规定功能的硬件和软件有没有明确的定义
  • 当任何一层发生变化时,只要接口保持不变,其他各层均不受影响

6.网络协议主要要素为   
语法、语义、同步

7.与10.110.12.29 mask 255.255.255.224 属于同一网段的主机IP 地址是 
10.110.12.30

时间: 2024-11-05 18:55:21

计算机网络复习-研一上的相关文章

算法复习-研一上

算法复习  包含主题: 贪心算法 , 分治法,动态规划,回溯法,分支限界,线性规划 关键词:最优子结构 Q:贪心与动态规划中间的联系和区别 p93 后面总结 (背部问题,0-1背包问题) 递归分治算法 基本思想:将一个大的问题分成若干小的子问题问题,分而治之 一般步骤:1.分解将原问题分为若干规模小,相互独立与原问题形式相同的问题   2.求解,求解各个子问题,当问题被划分的足够小的时候,就能很容易求解     3.合并,将子问题逐层合并,得到最后的解 经典问题 二分搜索: 合并排序(将想要排序

计算机网络复习

计算机网络复习 计算机网络这门课是本学期<软件技术基础>课程内容之一,所占课时数仅为20课时,卷面分数也是30分左右.但这门课的知识太多太杂,又经常和生活息息相关,比如:为什么配路由器的时候都是192.168.0.1?为什么校内的内网在校外无法访问?为什么上网慢要设置一下DNS这个东西?这些内容让我想多了解一点有关的知识,然而时间不多,只能上课听点,下课反复想,顺道拿两本教材之外的书1作为辅助.毕竟,TCP/IP的4层协议,以及书中的5层协议,每一层讲述的过程中都要“瞻前顾后”,还要“融会贯通

研一上学期期末考试结束之后

今天上午考完了研一上学期的最后一门课----计算机网络. 下午休息了一会儿.感觉考完试后没有什么可做了,就有点小无聊. 觉得身上没有什么力气,无精打采. 晚上和同学一块吃了晚饭.晚上走在路上,北京的冬天确实很冷. 回来后来和同学聊聊天. 现在需要考虑如何安排接下来的生活和工作. 首要原因是我不想“被安排”. 我的意思是想说,不想在到了安排放假的时候,就回家.回家之后,被动面临的实际问题(最关键的是我还没有找到女朋友)被问及以后的工作,结婚这些实际的问题. 这算是一种逃避吧. 我想主动采取措施.

计算机网络复习(二) 应用层

1.应用架构 (1)CS 对于 CS 架构 (Client/Server),网络中的每个节点是不对称的,具体而言可以分为两类: 服务端 (Server):服务端拥有资源,为客户端提供服务,每个客户端都能与服务端联系 客户端 (Client):客户端需要资源,向服务端申请服务,每个客户端之间不能相互联系 (2)P2P 对于 P2P 架构 (Peer-To-Peer),网络中的每个节点都是对称的,没有服务端和客户端之分 每个节点都拥有资源,每个节点都能提供服务,同时每个节点也都需要资源,也都需要申请

复习struts2+jsp上传文件

有个form <form action="upload" id="upForm" method="post">     <input type="file" id="att" name="attachment" accept="img/jpeg">     <input type="submit" value=&quo

此文记录了我从研二下学期到研三上学期的找工历程,包括百度、腾讯、网易、移动、电信、华为、中兴、IBM八家企业的面试总结和心得--转

感谢电子通讯工程的研究生学长为大家整理了这么全面的求职总结,希望进入通信公司和互联网公司做非技术类岗位的学弟学妹们千万不要错过哦~ ---------------------------原文分割线-------------------------- 此文记录了我从研二下学期到研三上学期的找工历程,包括百度.腾讯.网易.移动.电信.华为.中兴.IBM八家企业的面试总结和心得,希望能够帮助到正在找工的朋友和师弟师妹们,并纪念找工这段怀揣着希望和梦想,伴随着紧张和压力,同时令我受益匪浅的日子. (本文

计算机网络复习笔记整理

概述 电路交换: 电路交换通常要进行三个必要步骤:建立连接.通话.连接释放.对端到端通信质量具有可靠保障.整个报文的比特流连续的从源点直达终点,好像是在一条管道中传输.对于传送大量,且传送时间远大于连接建立时间的数据具有较快的传输速率. 报文交换: 整个报文先存储到相邻结点,全部存储完毕后再查找转发表,转发给下一个结点.对于传输突发数据能够较好的提高网络信道利用率. 分组交换: 单个分组传输到相邻结点,存储下来后查找转发表,然后蒋分组转发.高效,灵活,迅速,可靠,比报文交换时延小. 计算机网络的

北航内部的计算机网络复习大纲

幻灯片1 <计算机网络>复习大纲 6 幻灯片2 主要内容 1. 基本概念与体系结构 1. 物理层 l 数据链路层 l 局域网 l 网络层与传输层 l 应用层   6 幻灯片3 基本概念与体系结构 l 计算机网络的发展过程 l 交换方法:电路交换,报文交换,分组交换 l 连网方式:面向连接,无连接 l 注意:电路交换必定是面向连接的,分组交换可以是无连接方式,也可以采用面向连接方式,因此面向连接的网络不一定是电路交换的网络.     6 幻灯片4 基本概念与体系结构 l 计算机网络的定义 l 一

计算机网络复习 -- 概念梳理

第一章 计算机网络:将地理位置不同切功能相对独立的计算机系统通过通信线路互联在一起,遵循共同的网络协议,由专门的网络操作系统进行管理,以实现资源共享的系统. 网络拓扑结构:为了方便对计算机网络结构的研究与设计,把计算机,终端,通信处理机等抽象为点,将连接这些设备的通信线路抽象为线,并将由这些点与线构成的拓扑结构称为网络拓扑结构. 局域网:将有限范围内的(一楼层,一幢楼,一校园等)计算机互联成的网络.局域网有三个,明显的特点:1,范围较小,几米到几千米.2,传输速率高(一般可达10G bps),误