1.OSI七层模型
应用层 |
---|
表示层 |
会话层 |
传输层 |
网络层 |
数据链路层 |
物理层 |
2.TCP/IP五层模型
应用层 |
---|
传输层 |
网络层 |
数据链路层 |
物理层 |
1.LAN:local area network,局域网
2.WAN:wide area network,广域网
3.AS:autonomous system,自治系统
4.ISP:Internet service provider,互联网服务提供商
5.IGP:interior gateway protocol,内部网关协议
6.EGP:externel gateway protocol,外部网关协议
7.UDP:User Datagram Protocol,用户数据报协议(传数据前不需要建立连接)
8.TCP:transmission control protocol,传输控制协议(提供面向连接服务)
9.OSI:open system interconnection reference model,开放式系统互联通信参考模型
10.TPDU:transport protocol data unit,运输协议数据单元(两对等实体在通信时传送的数据单位,这是OSI的标准,TCP/IP体系中的则根据所使用的协议是TCP或UDP分别称之为TCP报文段或者UDP用户数据报)
11.RTO(Retransmission Time-Out):超时重传时间
12.RTT:round-trip time
13.cwnd:congestion window,拥塞窗口,是用于拥塞控制的一个状态变量
14.SAP:服务访问点
1.广播通信:一台计算机发送数据时,总线上的所有计算机都能检测到这个数据
2.人们常把局域网上的计算机称为“主机”,“工作站”,“站点”,“站”
3.重传应推后的时间为争用期(争用期=两倍的传播时延)
1.网络层使用的中间设备称为路由器
1.子网的网络地址是网络号+子网号。
1.在A,B,C三类IP地址中,全0的主机号码表示该IP地址就是网络的地址,用于网络路由;全1的主机号码表示广播地址,即对该网络上的所有主机进行广播
1.ARP协议解决的是从网络层使用的IP地址解析出在数据链路层使用的硬件地址。
2.在实际网络上传送数据帧时,实际应用的还是该网络的硬件地址。
3.IP地址和硬件地址由于格式不同而不存在简单的映射关系,此外,网络也上可能会有新的主机加进来,也可能会撤走一些主机,更换网络适配器也会改变主机的地址。ARP解决这个问题的办法是在主机的ARP高速缓存中存放一个从IP地址到硬件地址的映射表,这个映射表还可以动态更新(新增或超时删除)
4.单播:从一个源地址发送到一个目的地址
5.假设A要向B发数据,而且A的ARP中没有B的IP地址,那A就会在本局域网上广播一个ARP请求分组(这个分组中包含A的IP地址到硬件地址的映射),然后B的ARP进程收到该请求分组后,由于B的IP地址和A发出来的请求分组中的IP地址一致,所以B就把自己的硬件地址写入响应分组中,然后单播回A主机;A收到响应分组后,把B的IP地址和硬件地址写入ARP中,就完事了。
6.ARP高速缓存的内容:本局域网上的各主机和路由器的IP地址到硬件地址的映射表。
7.ARP高速缓存还会为每个项目设置生存时间,原因如下:
8.另外需要注意的一点就是,ARP解决的是同一个局域网上的主机或路由器的IP地址和硬件地址的映射。如果源主机和目的主机不在同一个局域网上,那就需要通过路由器进行转发,这时候路由器也需要通过ARP解析出下一跳的IP地址对应的硬件地址。
1.IP数据报首部的固定字段中的首部长度最小值是5,最大值是15.另外要注意,这个数的单位是32位bit,即4字节。
2.MTU:最大传送单元,指一个数据帧中的数据字段的最大长度,这时候的数据字段,指的是首部+数据部分。如果所传送的数据报长度超过了数据链路层的MTU值,就必须把过长的数据报进行分片处理。
3.进行分片时,数据报首部中的“总长度”字段指的是分片后每一个分片的首部长度和该分片的数据长度的总和.
4.标识: 每产生一个数据报,计数器就加一;分片后,该字段的值就被复制到所有数据报片的标识字段中,从而保证各数据报片最后能被正确地重装为原来的数据报
5.片偏移: 它指出较长的分组在分片后,某片在原分组中的相对位置。片偏移以8个字节为偏移位,也就是说,每个分片的长度一定是8字节的整数倍
6.关于片偏移有1个注意点,就是比方说A是需要分片,分成A1,A2,A3;然后A2也需要接着分片,分成A21,A22,那这时候A22的片偏移字段的值就是它在A中的相对位置,而不是在A2中的相对位置
7.生存时间TTL :表明数据报在网络中的寿命,单位为“跳”。它是由数据报的源点设置的。如果设置为1,那表示该数据包只能在本局域网中传送。
1.CIDR把32位的IP地址划分为前后两个部分:网络前缀(或简称为“前缀”)+主机号
2.斜线记法/CIDR记法:在IP地址后加上斜线“/”,然后写上网络前缀所占的位数,比如:212.56.132.0/24
3.CIDR地址掩码:使用地址掩码是为了更方便地进行路由选择,也可以继续称为子网掩码.在斜线记法中,斜线后面的数字就是地址掩码中1的个数
4.CIDR地址块:CIDR把网络前缀相同的连续的IP地址组成一个“CIDR地址块”
5.10/10:是10.0.0.0/10的简写
6.0000 1010 00*:星号之前是网络前缀,而星号*表示IP地址中的主机号,可以是任意值
1.路由算法:路由算法是路由选择协议的核心,即需要何种算法来获得路由表中的各项目
2.从路由算法能否随网络的通信量或拓扑自适应地进行调整变化来划分,则只有两大类,静态路由选择策略和动态路由选择策略。前者适用于简单的小网络,后者适用于复杂的大网络。
3.自治系统AS是在单一技术管理下的一组路由器,这些路由器使用一种自治系统内部的路由选择协议和共同的度量
4.域间路由选择:自治系统之间的路由选择
域内路由选择:自治系统内部的路由选择
5.IGP:interior gateway protocol,内部网关协议,具体的协议有多种,如RIP和OSPF
EGP:externel gateway protocol,外部网关协议,目前使用的就是BGP
1.RIP(routing information protocol):是一种分布式路由选择协议。
2.RIP允许一条路径最多只能包含15个路由器,距离等于16时即相当于不可达。由此可见RIP只适用于小型互联网。
3.RIP协议的特点是:
1)仅和相邻的路由器交换信息
2)交换的信息是当前路由器所知道的全部信息,即自己现在的路由表
3)按固定的时间间隔交换路由信息
4.RIP协议的工作过程:路由器刚刚开始工作时,路由表是空的,然后路由器会获得直接相连的网络的距离(定义为1)。接着,路由器开始和数目有限的相邻路由器交换并更新路由信息,经过若干次更新后,所有的路由器都会知道到达本自治系统的中任何一个网络的最短距离和下一跳地址。
5.路由表中最主要的信息就是到某个网络的距离。
6.路由表更新的原则是:找出到每个目的网络的最短距离。
1.严格地讲,两台主机进行通信就是两台主机中的应用进程互相通信
2.运输层提供应用进程间的逻辑通信。这里逻辑通信的意思是:从应用层看,只要把应用层报文交给下面的运输层,运输层就可以把这报文传送到对方的运输层
3.网络层和运输层在提供逻辑通信方面的区别:前者为主机之间提供,后者为应用进程之间提供端到端的逻辑通信
4.虽然通信的终点是应用进程,但只要把所传送的报文交到目的主机的某个合适端口,剩下的工作(即最后交付的进程)就由TCP/UDP来完成。也就是说,端口是主机的一个属性,报文首先通过端口进入主机,然后才是通过协议进入进程。所以,两个计算机中的进程要通信,就要知道对方的IP地址+端口号
5.软硬件端口的区别:
硬件端口:不同硬件设备进行交互的接口
软件端口:应用层各种协议进程与运输实体进行层间交互的一种地址。简单来说,就是进程与实体进行交互的一种地址;再简单一点,就是一种地址
6.端口是由16位的端口号来标志的
7.端口号分为3类:熟知端口号/系统端口号(0~1023),登记端口号(1024~49151),短暂端口号(49152~65535)
8.短暂端口号是仅在客户进程运行时才动态选择的,通信结束后这个客户端口号就不存在了
1.UDP的主要特点:
1)无连接
2)尽最大努力交付
3)面向报文
4)没有拥塞控制(这个特点对很多实时应用,如IP电话、实时视频会议等很友好)
5)支持一对一、一对多、多对一和多对多的交互通信
6)首部开销小(只有8个字节)
2.使用UDP时,应用进程可以在不影响应用的实时性的前提下,增加一些提高可靠性的措施,如采用前向纠错或重传已丢失的报文。
3.UDP的首部格式?
4.发送“端口不可达”差错报文:接收方接收到报文后,如果它的UDP发现收到的报文中的目的端口号不正确(即目的主机上不存在对应于该端口号的应用进程),就会由ICMP给发送方发送端口不可达报文
5.数据报=首部+数据
1.TCP的主要特点:
1)TCP是面向连接的运输层协议
2)每一条TCP连接只能是两个端点(这个端点,我们称为套接字或插口)。每一条TCP连接只能是点对点的
3)提供可靠交付的服务:无差错,不丢失,不重复,并且按序到达
4)TCP提供全双工通信
5)面向字节流:TCP和应用程序的交互是一次一个数据块(大小不等)。TCP不保证每次接收方应用程序所收到的数据块和每次发送方应用程序所发出的数据块具有对应大小的关系,即发送方把数据打包成数据块后,接收方会把这个数据块割成什么样,或者和其它数据块合并是说不准的。但是呢,发送出去的字节流应该和接收方的字节流一致。
2.关于发送报文时,TCP和UDP所采用方式的不同之处:
1)UDP发送报文的长度由应用进程给出
2)TCP会根据对方窗口给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节
3.TCP和UDP具体的差异:
TCP | UDP | |
---|---|---|
发送报文的长度 | 根据对方窗口给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节 | 报文的长度由应用进程给出 |
4.套接字=IP地址+端口号,比如192.3.4.5:80
5.每一条TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定,即
TCP连接::={socket1,socket2}={(IP1:port1),(IP2:port2)}
6.关于两个连接的区别和练习:
1)两台主机进行通信,就是两台主机的进程之间进行通信
2)TCP连接的是两个端点,这就是我们所说的套接字
1.发送窗口表示:在没有收到接收方的确认的情况下,发送方可以连续把窗口内的数据都发送出去。而凡是已经发送过的数据,在未收到确认前都必须暂时保留,以便在超时重传时使用
2.接收方只能对按序收到的数据中的最高序号给出确认
3.TCP通常对不按序到达的数据先临时存放在接收窗口中,等到字节流缺少的字节收到后,再按序交付给上层的应用进程
4.TCP标准规定,确认推迟的时间不应超过0.5秒
5.值得强调的是,通信中的每一方都有自己的发送窗口和接收窗口,谈到这些窗口时一定要弄清是哪一方的窗口
6.发送方的应用进程把字节流写入TCP的发送缓存,然后接收方的应用程序再从TCP的接收缓存中读取字节流
1.报文段的往返时间RTT:一个报文段发出的时间,以及收到相应的确认的时间,这两个时间之差就是报文段的往返时间
2.加权平均往返时间RTTs
1.TCP的窗口单位是字节,不是报文段
2.只有在ACK=1时确认号字段才有意义
1.出现网络拥塞的条件:对网络中某一资源的需求超过了该资源所能提供的可用部分,关系式为:
1.发送方如何知道网络发生了拥塞:只要发送方没有收到应当到达的确认报文,也就是说,只要出现了超时,就可以猜想网络可能出现了拥塞。
2.拥塞窗口是由发送方来维持的,发送方会让自己的发送窗口等于拥塞窗口
3.SMSS:(sender message segment size)发送方的最大报文段
4.传输轮次:把拥塞窗口cwnd所允许发送的报文段都发送出去,并收到了对已发送的最后一个字节的确认
5.网络出现超时后,发送方就会重新设置拥塞窗口为1,再次进入慢开始阶段
6.快重传算法要求接收方不要等待自己发送数据时才进行捎带确认,而是要立即发送确认,即使收到了失序的报文段也要立即发出对已收到报文段的重复确认。
(所谓的失序报文段,就是比如本来该是M1M2M3的报文段,但是M2丢失了,收到的就是M1M3,这就叫做失序报文段)
7.出现3个重复的ACK后,门限值(ssthresh)和cwnd都要减小为当前cwnd的一半
8.发送方窗口的上限值=min[接收方窗口,拥塞窗口],也就是说,rwnd和cwnd中值较小的那一个控制了发送方发送数据的速率
9.必须强调指出,必须强调指出,必须强调指出,“拥塞避免”并不能完全避免拥塞,只是它能够是网络拥塞不那么容易出现
1.关于三次握手和三报文握手的注意事项:
2.SYN报文段:也就是SYN=1的报文段
ACK报文段:同理,ACK=1的报文段
3.三个报文段的区别:
SYN报文段 | ACK报文段 | FIN报文段 | |
---|---|---|---|
能否携带数据 | 不能 | 能 | 能 |
是否消耗序号 | 消耗1个序号 | 携带数据就消耗,不携带就不消耗 | 携带消耗,但是即使不携带也会消耗1个序号 |
SYN报文段是不能携带数据的,但是要消耗掉一个序号;ACK报文段可以携带数据,但是如果不携带的话就不消耗序号
4.三报文握手建立TCP连接:
A在发出报文+收到报文后就进入了连接建立状态,B在收到+发出+收到,一共3次报文后才进入连接建立状态
5.关于请求报文滞留和请求报文丢失的区别,我目前的理解是这样的:前者还是有效的,通过阻塞地段后还是能正常行使功能的;后者则是没用了,要么无法继续传递,要么没法正常行使指定功能
1.每一个域名都由标号组成,而各标号之间用点隔开。
2.DNS规定域名中的标号都由英文字母和数字组成,不区分大小写。
3.最低级的域名写在最左边
1.一个服务器所负责管辖的(或有权限的)范围叫做区
1.万维网是一个分布式的超媒体系统,它是超文本系统的扩充。简单来说,它不是所谓的网络,而是一个大规模的、联机式的信息储藏所。
2.万维网浏览器就是一个HTTP客户,而在万维网服务器等待HTTP请求的进程常称为HTTP daemon,有的文献将它缩写为HTTPD。
1.URL实际上就是互联网上资源的地址
1.HTTP使用了面向连接的TCP作为运输层协议 。
2.方法就是对所请求的对象进行的操作,这些方法实际上就是一些命令。
3.请求报文的类型是由它所采用的方法决定的。
1.SMTP(simple mail transfer protocol):简单邮件传送协议
2.MIME(multipurpose Internet mail extension):通用因特网邮件扩充
3.UA(user agent):用户与电子邮件系统的接口。它的功能是撰写、显示和处理。
4.邮件服务器需要使用两个不同的协议:SMTP协议用于发送邮件,邮局协议(POP)用于接收邮件。
5.电子邮件由信封和内容两部分组成。在邮件的信封上,最重要的就是收信人的地址。
6.SMTP规定了14条命令和21种应答信息,每条命令用4个字母组成,而每一种应答信息一般只有一行信息,由1个3位的代码开始。
7.IMAP是按客户服务器方式工作,是一个联机协议。
8.MIME相比SMTP,增加了邮件主体的结构,并定义了传送非ascii码的编码规则。
9.MIME标准定义了7个基本内容类型和15种子类型