澳门新萄京:计算机网络基础知识,计算机网络
分类:www.澳门新萄京赌场

一、计算机网络分类

    局域网(Local Area Network,LAN)是在一个局部的地理范围内(如一个企业、一个学校或一个网吧),一般是方圆几千米以内,将各种计算机、服务器、外部设备等互相连接起来组成的计算机通信网。

    城域网(Metropolitan Area Network,MAN)一般来说是在一个城市,连接距离在10~100公里范围内的计算机互联网。MAN 比 LAN 相比扩展的距离更长,连接的计算机数量更多,在地理范围上MAN网络可以说是LAN网络的延伸。

    广域网(Wide Area Network,WAN)也称为远程网,所覆盖的范围比城域网更广,起到LAN或MAN之间的网络互连的作用。广域网能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络,互联网是世界范围内最大的广域网。

    总的来说,计算机网络是由多台计算机、交换机、路由器等其他网络设备,通过传输介质和软件连接在一起组成的。

  • OSI参考模型的层次划分与TCP/IP的五层结构

1. 基础知识

1.TCP的三次握手四次挥手

目录

二、网络分层模型

    为了使不同计算机厂家生产的计算机能够相互通信,以便在更大范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了“开放式系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协议分为七层,自下而上依次是物理层(Physics Layer) 、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)和 应用层(Application Layer)。对于每一层,至少制定两项标准:服务定义和协议规范。

    TCP/IP 协议不是TCP 和 IP 这两个协议的合称,而是指整个TCP/IP协议族。TCP/IP 协议定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了四层的层次结构,自下而上依次为网络接口层(Network Interface Layer)、网络层(Network Layer)、传输层(Transport Layer)和 应用层(Application Layer)。

澳门新萄京 1

OSI参考模型分为:物理层、数据链路层,网络层,传输层,会话层,表示层,应用层。

1.1 3种常见的计算机体系结构划分

OSI分层(7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
TCP/IP分层(4层):网络接口层、网际层、运输层、应用层。
五层协议(5层):物理层、数据链路层、网络层、运输层、应用层。

每一层的作用如下:

  • 物理层:激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的物理媒体。物理层的任务就是透明地传送比特流
  • 数据链路层:数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
  • 网络层:网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能。
  • 传输层:构的最高层,直接为用户的应用进程提供服务
  • 运输层的任务是负责向两个主机中进程之间的通信提供服务。由于一个主机可同时运行多个进程,因此运输层具有复用和分用的功能。复用是指多个应用层进程可同时使用运输层的服务,分用是指运输层把收到的信息分别交付给应用层中的相应进程。
  • 应用层:为操作系统或网络应用程序提供访问网络服务的接口。

  第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。

1. 网络层次划分
2. OSI七层网络模型
3. IP地址
4. 子网掩码及网络划分
5. ARP/RARP协议
6. 路由选择协议
7. TCP/IP协议
8. UDP协议 
9. DNS协议
10. NAT协议
11. DHCP协议
12. HTTP协议
13. 一个举例

 三、IP地址

    在网络上,每一台要通信的主机(含网络设备)也必须有一个IP地址,它的作用就是其他主机可以通过这个IP地址找到它。

    每个IP地址都由两部分组成:网络号和主机号。网络号用来标识这个IP地址属于哪一个网络。主机号用来标识这个网络中的唯一一台主机。

    IP 地址的长度是32位,每8位组成一个部分,这样一个IP地址就可以分为四个部分,每个部分如果用十进制表示,其值在0-255之间。

    IP 地址类型分为 5 种:

A 类地址:最高位固定总为0,加上之后紧跟的7位,共8位表示网络号,剩下24位表示主机号。

B类地址:最高两位固定位10,与后面的14位一起构成网络号,剩下的16位表示主机号。

C类地址:最高三位固定是110,和后面的21位一起构成网络号,只有八位表示主机号。

D类地址:最高四位固定是1110,不分网络地址和主机地址,是一个专门保留的地址,并不指向特定的网络,目前这类地址多被用在多点广播(Multicast)中,用来一次寻址一组计算机。

E类地址:最高五位固定是11110,不分网络地址和主机地址,为将来使用保留。

    在一个网络中,不是所有的主机号都可以分配给主机使用,其中有两个主机号是有特殊含义的,一个是全0的主机号,表示网络本身;一个是全1的主机号,表示广播地址。

    另外,还需要特别指出的是,A、B、C 三类地址中还各有一个网段被应用在内部局域网中,而不能在实际的互联网上出现,即 10 网段、172.16.x.x 到 172.31.x.x 网段 和 192.168 网段。

  1. 物理层涉及到在信道上传输的原始比特流。
  2. 数据链路层的主要任务是加强物理层传输原始比特流的功能,使之对应的网络层显现为一条无错线路。发送包把输入数据封装在数据帧,按顺序传送出去并处理接受方回送的确认帧。
  3. 网络层关系到子网的运行控制,其中一个关键问题是确认从源端到目的端如何选择路由。
  4. 传输层的基本功能是从会话层接受数据而且把其分成较小的单元传递给网络层。
  5. 会话层允许不同机器上的用户建立会话关系。

1.2 常见的网络协议

网络层

  • IP协议:网际协议
  • ICMP协议:Internet控制报文协议
  • ARP协议:地址解析协议
  • RARP协议:逆地址解析协议

传输层

  • UDP协议:用户数据报协议
  • TCP协议:传输控制协议

应用层

  • FTP:文件传送协议
  • Telenet:远程登录协议
  • DNS:域名解析协议
  • POP3:邮局协议
  • HTTP协议
  • SMTP:简单邮件传送协议
  • SNMP:简单网络管理协议
  • TFTP:简单文件传送协议

  第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J 1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。

计算机网络学习核心就是网络协议学习。
网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行。
一个很形象地比喻就是我们的语言,我们大天朝地广人多,地方性语言也非常丰富,而且方言之间差距巨大。A地区的方言可能B地区的人根本无法接受,所以我们要为全国人名进行沟通建立一个语言标准,这就是我们的普通话的作用。同样,放眼全球,我们与外国友人沟通的标准语言是英语,所以我们才要苦逼的学习英语。

四、子网掩码

    随着互联网的普及,IP 网络越来越不够分,因此,人们提出了很多解决方案,其中比较著名的就是子网掩码和 IPV6。

    子网掩码是一种用来指明一个IP地址的哪些位标识的是网络号以及哪些位标识的是主机号的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址分成网络地址和主机地址两部分。

    举个例子来说明子网掩码。A类地址默认前八位固定,则它默认的子网掩码是 11111111.00000000.00000000.00000000 ,即 255.0.0.0 。现在也很流行这种写法来标识子网掩码: xx.xx.xx.xx/8,表示IP地址的前8位表示网络号。

TCP/IP的五层结构图:物理层、数据链路层、网络层、运输层,应用层。

2. 网际协议IP

IP协议的特点

  • 不可靠:并不保证IP数据报能成功地到达目的地。如果发生某种错误,如某个路由器暂时用完了缓冲区,IP有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP消息报给信源端。任何可靠性必须由上层提供(如TCP)。
  • 无连接:IP并不维护任何关于后续数据报的状态消息,每个连接都是独立的。这也说明,IP数据报可以不按发送顺序接收。

  第三次握手:Client收到确认后,检查ack是否为J 1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K 1,并将该数据包发送给Server,Server检查ack是否为K 1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。

计算机网络协议同我们的语言一样,多种多样。而ARPA公司与1977年到1979年推出了一种名为ARPANET的网络协议受到了广泛的热捧,其中最主要的原因就是它推出了人尽皆知的TCP/IP标准网络协议。目前TCP/IP协议已经成为Internet中的“通用语言”,下图为不同计算机群之间利用TCP/IP进行通信的示意图。

五、域名

    域名(Domain Name),是由一串用点号分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用来在数据传输时标识计算机的电子方位。其主要目的是用来代替数字型的IP地址,方便记忆和书写。

    域名可分为不同级别,包括顶级域名、二级域名等。顶级域名又可分为两类:

    一类是国家顶级域名,200 多个国家都按照ISO3166国家代码分配了顶级域名,例如中国的是cn,美国的是us,韩国的是kr 等。

    另外一类是国际顶级域名,例如工商企业的 com,表示网络提供商的 net,表示非盈利组织的 org 等。

    二级域名是指顶级域名之下的域名,例如在国际顶级域名下,由域名注册人申请注册的网络名称,例如sohu、apple 等。在国家顶级域名下,一般二级域名表示注册企业类别的符号,例如 gov、edu 等。

提示   OSI参考模型的划分与TCP/IP的五层结构差异在于,后者的运输层等效为前者的传输层、回话层和表示层三个层。

2.1 IP首部

普通的IP首部长20个字节(不包含选项字段),包含协议版本号、首部长度、总长度、唯一标识、TTL、首部检验和、源IP地址和目的IP地址。

  • 通过首部长度和总长度字段就可以知道IP数据报中数据内容的起始位置和长度。
  • TTL生存时间字段设置了数据报可以经过的最多路由器数。初始值由源主机设置,一旦经过一个处理它的路由器,其值就减一;当该字段的值为0时,数据报就被丢弃。
  • 首部检验和字段是根据IP首部计算的检验和码(ICMP、UDP、TCP检验和同时覆盖了首部和数据部分)。
  • 如果长度超过了MTU,则要进行分片,根据IP头部的格式,有一个16位的标识,分片的时候会把这个标识复制到所有的分片中去,也就是说同一个IP的分片,他们的标识是一样的;然后3bit标志中有一位是表示是否最后一片,除了最后一片为0,其它片这个标识位都为1;修改IP的长度为分片中实际数据的长度;片偏移量是该片偏移原始数据的位置。 接收端根据 标识,是否为最后一片,各个片的长度,偏移量就可以把分片的包重新组装起来。

澳门新萄京 2

TCPIP

六、其他

 

2.2 IP地址

IP地址一般有网络号和主机号组成(D类和E类无此分法)。网络号标志主机(或路由器)所连接到的网络,主机号则标志该网络下的主机或路由器。

由于一个路由器至少应当连接到两个网络(这样它才能将IP数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的IP地址。路由器只根据目的站的IP地址的网络号进行路由选择。

上图中的A类、B类、C类地址都是单播地址(一对一通信),是最常用的。网络号字段的最前面有1-4位的类别位。其中有两个特殊的IP地址,主机号全为0的IP地址代表网络地址,主机号全为1的IP地址为广播地址。当向某个网络的广播地址发送消息时,该网络内的所有主机都能收到该广播消息。

A类地址:以0开头,第一个字节范围:0~127;
B类地址:以10开头,第一个字节范围:128~191;
C类地址:以110开头,第一个字节范围:192~223;
D类地址:以1110开头,第一个字节范围为224~239;

3个特殊的IP地址

  • 255.255.255.255
    该IP地址指的是受限的广播地址。受限广播地址与一般广播地址(直接广播地址)的区别在于,受限广播地址之只能用于本地网络,路由器不会转发以受限广播地址为目的地址的分组;一般广播地址既可在本地广播,也可跨网段广播。例如:主机192.168.1.1/30上的直接广播数据包后,另外一个网段192.168.1.5/30也能收到该数据报;若发送受限广播数据报,则不能收到。
  • 0.0.0.0
    常用于寻找自己的IP地址,例如在我们的RARP,BOOTP和DHCP协议中,若某个未知IP地址的无盘机想要知道自己的IP地址,它就以255.255.255.255为目的地址,向本地范围(具体而言是被各个路由器屏蔽的范围内)的服务器发送IP请求分组。
  • 127.0.0.1
    127.0.0.0/8被用作回环地址,回环地址表示本机的地址,常用于对本机的测试,用的最多的是127.0.0.1。

  第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。   第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号 1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。   第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。   第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号 1,Server进入CLOSED状态,完成四次挥手。

1. 网络层次划分

为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了
“开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。
它将计算机网络体系结构的通信协议划分为七层,
自下而上依次为:

物理层(Physics Layer)
数据链路层(Data Link Layer)
网络层(Network Layer)
传输层(Transport Layer)
会话层(Session Layer)
表示层(Presentation Layer)
应用层(Application Layer)

其中第四层完成数据传送服务,上面三层面向用户。

除了标准的OSI七层模型以外,常见的网络层次划分还有TCP/IP四层协议以及TCP/IP五层协议,它们之间的对应关系如下图所示:

OSI七层模型

    1、TCP “三次握手”过程?

第一次握手:建立连接时,源端发送同步序列编号(Synchronize Sequence Numbers,SYN) 包(SYN = j)到目的端,等待目的端确认。

第二次握手:目的端收到 SYN 包,确认源端的 SYN(ACK = j 1),同时自己也发送一个SYN包(SYN = k),即 SYN ACK 包。

第三次握手:源端收到目的端的 SYN ACK 包,向目的端发送确认包ACK(ACK = k 1)。此包发送完毕,源端和目的端完成三次握手,源端可以向目的端发送数据。

  •   比较IP、TCP与UDP

2.3 划分子网

划分子网的方法是从主机号借用若干个位作为子网号subnet-id,而主机号host-id 也就相应减少了若干个位。于是两级IP地址在本单位内部就变为三级IP地址:网络号、子网号和主机号。

IP地址 ::= {<网络号>, <子网号>, <主机号>}

子网对外部路由器来说隐藏了内部网络组织的细节,在外部看来,不同子网的主机仍属于同一个网络。

凡是从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号net-id,先找到连接在本单位网络上的路由器。然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网。最后就将 IP 数据报直接交付目的主机。

如何正确地区分子网号和主机号是一个问题,这可以通过子网掩码来确定。将网络号和子网号全设为1的IP地址为子网掩码。给定IP地址和子网掩码以后,主机就可以确定IP数据报的目的地是本子网的主机,本网络中其他子网的主机,还是其他网络的主机。

澳门新萄京 3

2. OSI七层网络模型

TCP/IP协议毫无疑问是互联网的基础协议,没有它就根本不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。不管是OSI七层模型还是TCP/IP的四层、五层模型,每一层中都要自己的专属协议,完成自己相应的工作以及与上下层级之间进行沟通。由于OSI七层模型为网络的标准层次划分,所以我们以OSI七层模型为例从下向上进行一一介绍。

OSI

IP是Internet Protocol的简称,是网络层的主要协议,作用是提供不可靠、无连接的数据报传送;

2.4 ARP协议与RARP协议

RAP为IP地址到对应硬件地址之间提供动态映射;RARP则相反。RAP高效运行的关键是由于每个主机上都有一个RAP高速缓存,来存放最近Internet地址到硬件地址之间的映射记录。

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查询失败。

实际中还会出现同时发起主动关闭的情况,即同时挥手,示意图如下:

1) 物理层(Physical Layer)

激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。

该层为上层协议提供了一个传输数据的可靠的物理媒体。

简单的说,物理层确保原始的数据可在各种物理媒体上传输。物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器。

TCP是Transmit Control Protocol(传输控制协议)的缩写,在运输层,TCP提供一种面向连接的,可靠的字节流服务;

2.5 ICMP(Internet控制报文协议)

ICMP是IP层的一个组成部分,它传递差错报文以及其他需要注意的信息。ICMP报文是在IP数据报内部(IP首部 ICMP报文)被传输的。ICMP报文由类型字段、代码字段、检验和和其他字节组成,前两个字段决定了ICMP报文的类型。

ICMP地址掩码请求,用于无盘系统在引导过程中获取自己自己的子网掩码。该ICMP报文的类型字段为17或18,代码字段为0,并返回32位子网掩码。

ICMP端口不可达差错,如果收到一份UDP数据报而目的端口与某个正在使用的进程不相符,那么UDP返回一个ICMP不可达报文。ICMP报文必须包括生成差错报文的数据报IP首部,还必须至少包括跟在该IP首部后面的前8个字节。

澳门新萄京 4

2)数据链路层(Data Link Layer)

数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。

为达到这一目的,数据链路必须具备一系列相应的功能,主要有:

如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;
如何控制帧在物理信道上的传输,包括如何处理传输差错,
如何调节发送速率以使与接收方相匹配;
以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。

数据链路层在不可靠的物理介质上提供可靠的传输。

该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。

有关数据链路层的重要知识点:

1> 数据链路层为网络层提供可靠的数据传输;
2> 基本数据单位为帧;
3> 主要的协议:以太网协议;
4> 两个重要设备名称:网桥和交换机。

UDP是User Datagram Protocol(用户数据报协议)的缩写,在运输层,UDP提供不可靠的传输数据服务。;

2.6 ping程序

ping程序的目的是为了测试另一台主机是否可达。该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。它只利用ICMP回显请求和回显应答报文,而不经过传输层。

ping 127.0.0.1环回地址时,如果不能ping通说明当前机器的TCP/IP协议栈有问题,127本身是一个虚接口,任何时候都是直接上交到内核中处理的。

ping 192.168.1.X 本机的以太网地址,则是测试本机的网络适配器(就是网卡啦),一般是以太网驱动程序。
ping这两个地址时你会发现,但使用wireshark抓包时,是没有ICMP的回显请求发出的,这说明这两个ping程序是不会发送到网络中的(只在局域网中)。

ping 同一网段中的网络地址,不通则说明网络线路出现了故障,如果网络中还存在路由器,则应该先ping路由器在本网络的地址,不通则是本机和路由器之间的线路有问题。通了,则再ping路由器所在目标计算机网络所在网段的端口IP地址,不通则说明了路由器出现了故障,通了就再ping目标主机的IP地址。

如果ping www.baidu.com等网络地址ping不通时,则说明本机的DNS服务器设置错误。

  TIME_WAIT状态后需等待2MSL(最大报文段生存时间)才能返回到CLOSE状态,因为我们必须假想网络是不可靠的,有可以最后一个ACK丢失。所以TIME_WAIT状态就是用来重发可能丢失的ACK报文。

3)网络层(Network Layer)

网络层目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。

它提供的服务使传输层不需要了解网络中的数据传输和交换技术。如果您想用尽量少的词来记住网络层,那就是“路径选择、路由及逻辑寻址”。

网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议——IP协议。

IP协议非常简单,仅仅提供不可靠、无连接的传送服务。

IP协议的主要功能有:

无连接数据报传输、数据报路由选择和差错控制。
与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。

具体的协议我们会在接下来的部分进行总结,有关网络层的重点为:

1> 网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;

2> 基本数据单位为IP数据报;

3> 包含的主要协议:

    IP协议(Internet Protocol,因特网互联协议);

    ICMP协议(Internet Control Message Protocol,因特网控制报文协议);

    ARP协议(Address Resolution Protocol,地址解析协议);

    RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。

4> 重要的设备:路由器。

 

3. TCP协议

 

4)传输层(Transport Layer)

第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。

传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。

网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。

网络层的重点:

1> 传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;
2> 包含的主要协议:
    TCP协议(Transmission Control Protocol,传输控制协议)
    UDP协议(User Datagram Protocol,用户数据报协议)
3> 重要设备:网关。
  • 交换和路由的对比

3.1 TCP服务的特点

TCP提供一种面向连接的、可靠的字节流服务。面向连接意味着应用程序在使用TCP协议之前,必须先建立TCP连接。在传送数据完毕后,必须释放已经建立的TCP连接。TCP通过以下方式来提供可靠性:

  • 应用数据被分割成TCP认为最适合发送的数据块。
  • 超时重传。当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到确认,将重发这个报文段。
  • 当TCP收到发自TCP连接另一端的数据后,他将发送一个确认。该确认通常将推迟几分之一秒。
  • TCP将保持他首部和数据的检验和。
  • 由于IP数据报的到达可能会失序,因此TCP报文段的到达也可能失序。如有必要,TCP将对收到的数据进行重新排序,并以正确的顺序交付给应用层。
  • 既然IP数据报会发生重复,TCP的接收端必须丢弃重复的数据。
  • 流量控制。防止较快主机致使较慢主机的缓冲区溢出。

2.TCP的滑动窗口,流量控制和拥塞控制,快重传和快恢复,超时重传

5)会话层

会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。

交换是指转发和过滤帧,是交换机的工作,它在OSI参考模型的第二层(数据链路层);

3.2 TCP的首部

TCP虽然是面向字节流的,但TCP传送的数据单元却是报文段。一个TCP报文段分为首部和数据两部分,而TCP的全部功能都体现在它首部中各字段的作用。因此,只有弄清TCP首部各字段的作用才能掌握TCP的工作原理。TCP报文首部固定部分各字段的意义如下:

  1. 源端口和目的端口
    各占两字节,分别写入源端口号和目的端口号。TCP的分用也是通过端口实现的。

  2. 报文段序号
    占4字节。在一个TCP连接中传送的字节流中的每一个字节都按顺序编号。整个要传送的字节流的起始序号必须在连接建立时设置,首部中的序号字段值则是指本报文所发送的数据的第一个字节的序号。

  3. 确认号
    期望收到对方下一个报文段的第一个数据字节的序号。若确认号为N,则表明到序号N-1为止的所有数据都已正确收到。

  4. 数据偏移
    指出TCP报文段的数据起始处距离TCP报文段的起始处有多远,实际上指出了TCP报文段的首部长度。

  5. 6个控制位
    确认ACK:TCP规定,在连接建立后所有传送的报文段都必须把ACK置1。
    复位RST:当RST=1时,表明TCP连接中出现严重错误,必须释放连接,然后再重新建立运输连接。
    同步SYN:在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若同意建立连接,则应在响应的报文段中使用SYN=1和ACK=1.
    终止FIN:用来释放一个连接。当FIN=1时,表明此报文段的发送方的数据已发送完毕,并要求释放运输连接。

  6. 窗口
    窗口字段明确指出了现在允许对方发送的数据量,该值经常在动态变化着。例如,设确认号是701,窗口字段是1000。这就表明从701算起,发送此报文段的一方还有接收1000个字节数据的接收缓存空间。

  TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。

6)表示层

表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。
表示层的数据转换包括数据的加密、压缩、格式转换等。

路由是指网络线路当中非直连的链路,它是路由器的工作,在OSI参考模型的第三层(网络层);

3.3 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。
第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。(与SYN相同,一个FIN占用一个序号)。
第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号 1,至此,完成四次挥手。

TCP的半关闭
TCP提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力,这就是半关闭。为了使用这一特性,编程接口必须为应用程序提供一中方式来说明“我们已经完成了数据传送,因此发送一个文件结束(FIN)给另一端,但我还想接收另一端的数据,直到它给我发送文件结束FIN”。

2MSL等待状态
TIME_WAIT状态也称为2MSL等待状态。每个具体TCP实现必须选择一个报文段最大生存时间MSL,它是任何报文段被丢弃前在网络内的最长时间(RFC指出其为2min,实现中常用值还有30s和1min)。当TCP执行一个主动关闭,并发回最后一个ACK,该连接必须在TIME_WAIT状态停留的2倍的MSL;这样可让TCP再次发送最后的ACK以防这个ACK丢失(另一方超时并重发最后的FIN)。

  滑动窗口协议:1. “窗口”对应的是一段可以被发送者发送的字节序列,其连续的范围称之为“窗口”;2. “滑动”则是指这段“允许发送的范围”是可以随着发送的过程而变化的,方式就是按顺序“滑动”。

7)应用层

为操作系统或网络应用程序提供访问网络服务的接口。

会话层、表示层和应用层重点:

1> 数据传输基本单位为报文;

2> 包含的主要协议:
    FTP(文件传送协议)、
    Telnet(远程登录协议)、
    DNS(域名解析协议)、
    SMTP(邮件传送协议),
    POP3协议(邮局协议),
    HTTP协议(Hyper Text Transfer Protocol)

交换和路由的区别很多。首先,交换是不需要IP的,而路由需要,因为IP就是第三层的协议,第二层需要的是MAC地址;再有,第二层的技术和第三层不一样,第二层可以做VLAN、端口捆绑等,第三层可以做NAT、ACL、QOS等。

3.4 使用UDP和TCP的场景

UDP的典型应用:实时性,不需要重传机制,局域网(本身网络稳定性高)

  • UDP适合于这样的进程:需要简单的请求-响应通信,而较少考虑流量控制和差错控制。对于需要传送成块数据的进程(如FTP)则不适合使用UDP。
  • UDP适合于具有内部流量控制和差错控制机制的进程,如简单文件传输协议TFTP。
  • 对多播来说,UDP是一个合适的传输协议。
  • UDP常用于交互实时应用,以避免接收报文之间的不一致延时。
  • UDP可用于管理进程,如SNMP。

TCP对应的协议

  1. FTP:定义了文件传输协议,使用21端口。常说某某计算机开了FTP服务便是启动了文件传输服务。下载文件,上传主页,都要用到FTP服务。
  2. Telnet:它是一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务。如以前的BBS是-纯字符界面的,支持BBS的服务器将23端口打开,对外提供服务。
  3. SMTP:定义了简单邮件传送协议,现在很多邮件服务器都用的是这个协议,用于发送邮件。如常见的免费邮件服务中用的就是这个邮件服务端口,所以在电子邮件设置-中常看到有这么SMTP端口设置这个栏,服务器开放的是25号端口。
  4. POP3:它是和SMTP对应,POP3用于接收邮件。通常情况下,POP3协议所用的是110端口。也是说,只要你有相应的使用POP3协议的程序(例如Fo-xmail或Outlook),就可以不以Web方式登陆进邮箱界面,直接用邮件程序就可以收到邮件(如是163邮箱就没有必要先进入网易网站,再进入自己的邮-箱来收信)。
  5. HTTP协议:是从Web服务器传输超文本到本地浏览器的传送协议。

UDP对应的协议

  1. DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。
    DNS工作原理:当DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:包括:指定的DNS域名,指定的查询类型,DNS域名的指定类别。该应用一般不直接为用户使用,而是为其他应用服务,如HTTP,SMTP等在其中需要完成主机名到IP地址的转换。
  2. SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。
  3. TFTP(Trival File Transfer Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。

  4. 超文本传送协议HTTP


HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。HTTP协议的主要特点可概括如下:

  • 支持客户/服务器模式。
  • 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
  • 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
  • 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  • 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

  流量控制,主要是接收方传递信息给发送方,使其不要发送数据太快,是一种端到端的控制。主要的方式就是返回的ACK中会包含自己的接收窗口的大小,并且利用大小来控制发送方的数据发送。

3. IP地址

 

4.1 浏览网页的过程

浏览网页的过程其实就是浏览器作为一个浏览的“客户端”,向服务器端发送了 一次请求,把服务器端的文件“抓”到本地,再进行解释、展现。

  • 使用统一资源定位符URL来标志万维网上的各种文档,并使每一个文档在整个因特网的范围内具有唯一的标识符URL。
  • 通过超文本传送协议HTTP来实现万维网上各种连接,使用TCP连接进行可靠的传送。
  • 使用超文本标记语言HTML使得网页设计者可以很方便地用链接从本页面的某处链接到任意网页,并在自己主机屏幕上显示。

  拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。常用的方法就是:(1)慢开始、拥塞控制(2)快重传、快恢复。

1)网络地址

IP 地址 = { <网络号>, <主机号>}

网络号net-id标志主机(或路由器)所连接到的网络

主机号 host-id,它标志该主机(或路由器)

IP地址由网络号(包括子网号)和主机号组成。

网络地址代表着整个所连接到的网络,其主机号为全0。

  • SNMP协议的特点以及是否议需要专门的连接

4.2 统一资源定位符URL

URL是用来表示从因特网上得到的资源位置和访问这些资源的方法。URL给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性。URL相当于一个文件名在网络范围的扩展。因此,URL是与因特网相连的机器上的任何可访问对象的指针。由于访问不同对象使用的协议不同,URL还能之处读取某个对象时所使用的协议。URL的一般形式为:

 <协议>://<主机>:<端口>/<路径>

协议是指用哪种协议获取该万维网文档,如http,ftp;主机是指该网络文档所在主机的域名;端口和路径有时可以省略。对万维网的网点访问使用HTTP协议,HTTP的默认端口号是80,通常可省略。若在省略文件的路径,则URL就指到因特网上的某个主页。如: www.baidu.com。

  数据在传输时不仅一个窗口协议,还有一个拥塞窗口来控制数据的流量,使得数据不会一下子都跑到网路中引起“拥塞”。拥塞窗口最初使用指数增长的速度来增加自身的窗口,直到发生超时重传,再利用拥塞避免算法和慢启动门限进行一次微调。

CIDR地址块

128.14.32.0/20 表示的地址块共有 212 个地址(因为斜线后面的 20 是网络前缀的位数,所以这个地址的主机号是 12 位)

SNMP(Simple Network Manager Protocol)即简单网络管理协议,它为网络管理系统提供了底层网络管理的框架。它的特点是:SNMP易于实现;SNMP协议是开放的免费产品;

4.3 HTTP请求报文

HTTP规定在HTTP客户与HTTP服务器之间的每次交互,都由一个ASCII码串构成的请求和一个“MIME-like”的响应组成,HTTP报文通常都使用TCP连接传送。HTTP有两类报文:请求报文(从客户向服务器发送请求报文)和响应报文(从服务器到客户的回答)。HTTP请求报文和响应报文都是由三部分组成,两种报文格式的区别就是开始行不同。

  1. 开始行 用于区分是请求报文还是响应报文。开始行在两种报文中分别叫请求行状态行
  2. 首部行 用来说明浏览器或报文主题的一些信息。
  3. 实体主体 在请求报文中一般不用该字段,而在响应报文中也可能没有该字段。

请求行只有三个内容,即方法、请求资源URL和HTTP的版本。下表给出了请求报文中常用的几种方法。
GET:请求读取由URL所标志的信息。
POST:给服务器添加信息(如注释)。
HEAD:请求获取由Request-URI所标识的资源的响应消息报头。
PUT:在给定的URL下存储一个文档。
DELETE:删除给定的URL所标志的资源。

GET方法,在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用GET方法向服务器获取资源。POST方法要求被请求服务器接受附在请求后面的数据,常用于提交表单。POST与GET的区别如下:

  • Get是从服务器上获取数据,Post是向服务器传送数据。
  • Get是把参数数据队列加到提交表单的Action属性所指向的URL中,值和表单内各个字段一一对应,在URL中可以看到。
  • Get传送的数据量小,不能大于2KB;post传送的数据量较大,一般被默认为不受限制。
  • 根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。
  • 所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。
  • 幂等的意味着对同一URL的多个请求应该返回同样的结果。
GET http://www.bilibili.com/video/douga.html  HTTP/1.1

下面是一个请求报文的例子

请求报文

  拥塞避免算法就是:每经过一个往返时间RTT就把发送方的拥塞窗口 1,即让拥塞窗口缓慢地增大,按照线性规律增长;当出现网络拥塞,比如丢包时,将慢开始门限设为原先的一半,然后将cwnd设为1,执行慢启动算法(较低的起点,指数级增长);

2)广播地址

通常称为直接广播地址,是为了区分受限广播地址。

广播地址与网络地址的主机号正好相反,广播地址中,主机号为全1。当向某个网络的广播地址发送消息时,该网络内的所有主机都能收到该广播消息。

SNMP协议有很多详细的文档资料,网络业界对这个协议也有较深入的了解,这些都是SNMP协议进一步发展和改进的基础;SNMP协议可用于控制各种设备。

HTTP响应报文

在接收和解释请求消息后,服务器返回一个HTTP响应消息。HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文。状态行格式如下:

HTTP-Version Status-Code Reason-Phrase CRLF

其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。

状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
澳门新萄京,1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求

常见状态代码、状态描述、说明:

200 OK      //客户端请求成功
400 Bad Request  //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 
403 Forbidden  //服务器收到请求,但是拒绝提供服务
404 Not Found  //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable  //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

  慢启动门限就是说,当拥塞窗口超过门限时,就使用拥塞避免算法,而在门限以内就采用慢启动算法。通常拥塞窗口记做cwnd,慢启动门限记做ssthresh。

3)组播地址

D类地址就是组播地址。

先回忆下A,B,C,D类地址:

SNMP是一种无连接协议。无连接的意思是它不支持像TELNET或FTP这种专门的连接。通过使用请求报文和返回响应的方式,SNMP在管理代理和管理员之间传送消息。   

5. DNS域名系统

DNS是一中用于TCP/IP应用程序的分布式数据库,它提供域名到IP地址的转换。举例来说,如果你要访问域名math.stackexchange.com,首先要通过DNS查出它的IP地址是151.101.129.69 。

  慢开始和拥塞控制算法常常作为一个整体使用,而快重传和快恢复则是为了减少因为拥塞导致的数据包丢失带来的重传时间,从而避免传递无用的数据到网络。

A类地址

以0开头,第一个字节作为网络号,地址范围为:0.0.0.0~127.255.255.255;

 

5.1 因特网的域名结构

因特网在命名时采用的是层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name)。每一个域名都是有标号(label)序列组成,而各标号之间用点(小数点)隔开。如mail.cctv.com,这是中央电视台用于手法电子邮件的计算机的域名,它由三个标号组成,其中标号com是顶级域名,标号cctv是二级域名,标号mail是三级域名。

  快重传的机制是:

B类地址

以10开头,前两个字节作为网络号,地址范围是:128.0.0.0~191.255.255.255;

  • 香农定理

5.2 域名服务器

如果采用上述的树状结构,每一个节点都采用一个域名服务器,这样会使得域名服务器的数量太多,使域名服务器系统的运行效率降低。所以在DNS中,采用划分区的方法来解决。

一个服务器所负责管辖(或有权限)的范围叫做区(zone)。各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机到域名IP地址的映射。总之,DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位。区是DNS服务器实际管辖的范围。区 <= 域。

因特网上的DNS服务器也是按照层次安排的。每一个域名服务器只对域名体系中的一部分进行管辖。根据域名服务器所起的作用,可以把域名服务器划分为下面四种不同的类型。

  • 根域名服务器:最高层次的,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助根域名服务器。假定所有的根域名服务器都瘫痪了,那么整个DNS系统就无法工作。很多情况下,根域名服务器并不直接把待查询的域名直接解析出IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。
  • 顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名。
  • 权限域名服务器:负责一个“区”的域名服务器。
  • 本地域名服务器:本地服务器不属于下图的域名服务器的层次结构,但是它对域名系统非常重要。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。

  1.接收方如果发现一个包丢失,则对后续的包继续发送针对该包的重传请求;

C类地址

以110(开头,前三个字节作为网络号,地址范围是:192.0.0.0~223.255.255.255。

香农定理:香农定理描述了有限带宽、有随机热噪声信道的最大传输速率与信道带宽、信号噪声功率比之间的关系。在有随机热噪声的信道上传输数据信号时,数据传输率Rmax与信道带宽B、信噪比S/N的关系为:Rmax=B*log2(1 S/N)。

5.3 域名的解析过程

主机向本地域名服务器的查询一般都是采用递归查询。所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。

本地域名服务器向根域名服务器的查询的迭代查询。迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机。

下面举一个例子演示整个查询过程:
假定域名为m.xyz.com的主机想知道另一个主机y.abc.com的IP地址。例如,主机m.xyz.com打算发送邮件给y.abc.com。这时就必须知道主机y.abc.com的IP地址。下面是上图a的几个查询步骤:

  1. 主机m.abc.com先向本地服务器dns.xyz.com进行递归查询。
  2. 本地服务器采用迭代查询。它先向一个根域名服务器查询。
  3. 根域名服务器告诉本地服务器,下一次应查询的顶级域名服务器dns.com的IP地址。
  4. 本地域名服务器向顶级域名服务器dns.com进行查询。
  5. 顶级域名服务器dns.com告诉本地域名服务器,下一步应查询的权限服务器dns.abc.com的IP地址。
  6. 本地域名服务器向权限域名服务器dns.abc.com进行查询。
  7. 权限域名服务器dns.abc.com告诉本地域名服务器,所查询的主机的IP地址。
  8. 本地域名服务器最后把查询结果告诉m.xyz.com。

整个查询过程共用到了8个UDP报文。

为了提高DNS查询效率,并减轻服务器的负荷和减少因特网上的DNS查询报文数量,在域名服务器中广泛使用了高速缓存,用来存放最近查询过的域名以及从何处获得域名映射信息的记录。例如,在上面的查询过程中,如果在m.xyz.com的主机上不久前已经有用户查询过y.abc.com的IP地址,那么本地域名服务器就不必向根域名服务器重新查询y.abc.com的IP地址,而是直接把告诉缓存中存放的上次查询结果(即y.abc.com的IP地址)告诉用户。

  2. 一旦发送方接收到三个一样的确认,就知道该包之后出现了错误,立刻重传该包;

D类地址

以1110开头,地址范围是224.0.0.0~239.255.255.255,D类地址作为组播地址(一对多的通信);

香农定理由如下的公式给出:C=B*log2(1 S/N),其中C是可得到的链路速度,B是链路的带宽,S是平均信号功率,N是平均噪声功率,信噪比(S/N)通常用分贝(dB)表示,分贝数=10*lg(S/N)。

6. 面试题精选

  3. 此时发送方开始执行“快恢复”算法:

E类地址

以1111开头,地址范围是240.0.0.0~255.255.255.255,E类地址为保留地址,供以后使用。

注:只有A,B,C有网络号和主机号之分,D类地址和E类地址没有划分网络号和主机号。

 

例题1:TCP和UDP有什么区别?

TCP是传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器批次交换数据前,必须建立TCP连接之后才能传输数据。TCP提供超时重传、丢弃重复数据、流量控制等功能,保证数据能从一端传到另一端。

UDP是用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,不保证数据能够到达目的地。由于UDP在传输数据前不用在客户和服务器之间建立连接,且没有超时重传等机制,故而传输速度很快。

    *1. 慢开始门限减半;

4)255.255.255.255

该IP地址指的是受限的广播地址。
受限广播地址与一般广播地址(直接广播地址)区别:

1.受限广播地址只能用于本地网络,路由器不会转发以受限广播地址为目的地址的分组;
2.一般广播地址既可在本地广播,也可跨网段广播。
例如:主机192.168.1.1/30上的直接广播数据包后,另外一个网段192.168.1.5/30也能收到该数据报;
3.若发送受限广播数据报,则不能收到

注:一般的广播地址(直接广播地址)能够通过某些路由器(当然不是所有的路由器),而受限的广播地址不能通过路由器。

  • 主机号、网络号和直接广播号的计算

例题2:TCP的可靠性如何保证?

TCP的可靠性是通过顺序编号和确认(ACK)来实现的。

    *2. cwnd设为慢开始门限减半后的数值;

5)0.0.0.0

常用于寻找自己的IP地址。

例如在我们的RARP,BOOTP和DHCP协议中,
若某个未知IP地址的无盘机想要知道自己的IP地址,它就以255.255.255.255为目的地址,向本地范围(具体而言是被各个路由器屏蔽的范围内)的服务器发送IP请求分组。

主机号:根据已知的子网掩码长度确定网络号的长度,将IP网络号全变为0,主机号保持不变,结果就是主机号。

例题3:在浏览器中输入www.baidu.com后执行的全部过程

  1. 客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。
  2. 在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。
  3. 客户端的网络层不用关系应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,我不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。
  4. 客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。

    *3. 执行拥塞避免算法(高起点,线性增长);

6)回环地址

回环地址表示本机的地址,常用于对本机的测试.

127.0.0.0/8被用作回环地址,用的最多的是127.0.0.1。

如,IP 137.191.25.7/20 ,那么它的主机号为0.0.9.7 。

例题4:牛客网由于访问客户量的增长,原来的服务器不足以维持请求,经常发生宕机的突发情况,因此为了解决这个问题,CEO决定新增加几台服务器,那么问题是这些接入WEB服务器第一次被访问到时,不同协议的发生顺序是下面中的(ARP -> DNS -> HTTP)。

解析:当你给WEB服务器接上网线的时候,它会自动发送一条ARP信息,使得接入网关能找的到它;网关上会形成一条MAC地址到IP地址的映射记录。如用户在浏览器中输入域名,如本地DNS缓存中没有,必然会进行一次DNS查询,以确定该域名的IP地址。获得DNS对应的IP地址以后,使用HTTP协议访问web服务器(不考虑TCP三次握手建立连接的阶段)。

  超时重传是TCP协议保证数据可靠性的另一个重要机制,其原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止。

7)A、B、C类私有地址

私有地址(private address)也叫专用地址,它们不会在全球使用,只具有本地意义。

A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255

B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255

C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.255

网络号:根据已知的子网掩码长度确定网络号的长度,将IP网络号保持不变,主机号全变为0,结果就是网络号。

例题5:将一个C类网络划分为3个子网,每个子网最少要容纳55台主机,使用的子网掩码是?(2017乐视实习生)

答:255.255.255.192

 

4. 子网掩码及网络划分

在 ARPANET 的早期,IP 地址的设计确实不够合理。

IP 地址空间的利用率有时很低。 
给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。 
两级的 IP 地址不够灵活。  

如,IP 137.191.25.7/20 ,那么它的网络号为137.191.16.7 。

例题5:IP路由表包括哪几项内容?

IP路由表通常包括三项内容,他们是子网掩码、目的网络地址、到目的网络路径上“下一个”路由器的地址

3.TCP/IP结构及协议

三级IP地址

后来IP地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址。即划分子网(subnetting)。

IP地址= {<网络号>, <子网号>, <主机号>} 

直接广播号:根据已知的子网掩码长度确定网络号的长度,将IP网络号保持不变,主机号全变为1,结果就是直接广播号。

  网络接口层:Wi-Fi、ATM 、GPRS、EVDO、HSPA、PPP、 帧中继等

划分子网思路

从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。

划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。

凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。

然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网。

最后就将 IP 数据报直接交付目的主机。

如,主机IP为 137.191.25.7/20 ,要向网络192.168.191.1/24进行广播,那么目的IP地址为192.168.191.255。

  网际层:IP、ICMP(Ping的时候用到)、IGMP 、ARP、RARP(这两个有争议,一般说TCP/IP中是网络层协议,在OSI模型中划分为数据链路层协议)

1)什么是子网掩码?

从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。
使用子网掩码(subnet mask)可以找出 IP 地址中的子网部分。

(IP 地址) AND (子网掩码) = 网络地址

IP地址中的保留地址,即“ 0”地址和广播地址,它们是指主机地址或网络地址全为“ 0”或“ 1”时的IP地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。

 

  传输层:TCP、UDP、TLS等

2)子网掩码的计算:

对于无须再划分成子网的IP地址来说,其子网掩码非常简单,即按照其定义即可写出:

A类IP地址子网掩码255.0.0.0
B类IP地址子网掩码255.255.0.0
C类地址子网掩码为255.255.255.0

下面我们关键要介绍的是一个IP地址,还需要将其高位主机位再作为划分出的子网网络号,剩下的是每个子网的主机号,这时该如何进行每个子网的掩码计算。

下面总结一下有关子网掩码和网络划分常见的面试考题:

  •   一般不使用的特殊IP地址

  应用层:FTP、TELNET、DNS、SMTP(邮件传输)、DHCP、HTTP、HTTPS、POP3、SSH等。

1)利用子网数来计算

在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。

(1) 将子网数目转化为二进制来表示;

如欲将B类IP地址168.195.0.0划分成27个子网:27=11011;

(2) 取得该二进制的位数,为N;

该二进制为五位数,N = 5

(3) 取得该IP地址的类子网掩码,将其主机地址部分的的前N位置1即得出该IP地址划分子网的子网掩码。

将B类地址的子网掩码255.255.0.0的主机地址前5位置 1,得到 255.255.248.0

网络号(net-id)

主机号( host-id)

源地址使用

目的地址使用

含义

0

0

可以

不可

在本网络上的主机

0

host-id

可以

不可

在本网络上的某个主机,即本网络中的主机号

全1

全1

不可

可以

只在本网络上进行广播,即有限广播地址

net-id

全1

不可

可以

对net-id上的所有主机进行广播,即直接广播地址

127

任何数

可以

可以

用作本地软件环回测试之用,即回送地址

  ARP(Address Resolution Protocol,地址解析协议)。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

2)利用主机数来计算

如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:

(1) 将主机数目转化为二进制来表示;

700=1010111100;

(2) 如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为N,这里肯定 N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位;

该二进制为十位数,N=10;

(3) 使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。

将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255,然后再从后向前将后 10位置0,即为:11111111.11111111.11111100.00000000,即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码。

 

 

3)根据每个网络主机数进行子网地址规划和计算子网掩码

这也可按上述原则进行计算。

比如一个子网有10台主机,那么对于这个子网需要的IP地址是:

10+1+1+1=13

注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。

因为13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为255.255.255.240。

如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为14+1+1+1=17,17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224。

 

4.IP网络地址分布

5. ARP/RARP协议

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。

主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;

收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;

由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个**ARP欺骗**。

ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。

  • TCP/IP 建立连接的过程?(3-way shake)

  IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。

ARP工作流程举例

主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;

主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;

当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:

(1)根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
(2)如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
(3)主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
(4)主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
(5)当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。

逆地址解析协议,即RARP,功能和ARP协议相对,其将局域网中某个主机的物理地址转换为IP地址。

比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

  1.A类IP地址:一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。

RARP协议工作流程:

(1)给主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;
(2)本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;
(3)如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;
(4)如果不存在,RARP服务器对此不做任何的响应;
(5)源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。

第一次握手:建立连接时,客户端发送SYN包(SYN = j)到服务器,并进入SYN_SEND状态,等待服务器确认;

  2.B类IP地址:一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机 。

6. 路由选择协议

常见的路由选择协议有:RIP协议、OSPF协议。

第二次握手:服务器收到SYN包,必须确认客户的SYN(ACK = j 1),同时自己也发送一个SYN包(SYN = k),即SYN ACK包,此时服务器进入SYN_RECV状态;

  3.C类IP地址:一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。

RIP协议

底层是贝尔曼福特算法,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=k 1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

  4.D类地址用于多点广播:D类IP地址第一个字节以“lll0”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

OSPF协议

Open Shortest Path First开放式最短路径优先,底层是迪杰斯特拉算法,是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟。

 

  5.E类IP地址:以“llll0”开始,为将来使用保留。

7. TCP/IP协议

TCP/IP协议是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。

通俗而言:

  • IP组播有那些好处

  在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:

1)功能及包来源

TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。

而IP是给因特网的每一台联网设备规定一个地址。

IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;

相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。

Internet上产生的许多新的应用,特别是高带宽的多媒体应用,带来了带宽的急剧消耗和网络拥挤问题。

  A类地址:10.0.0.0~10.255.255.255

2)可靠性

IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是否按顺序发送的或者有没有被破坏,IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。

TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。

TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。

TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。

组播是一种允许一个或多个发送者(组播源)发送单一的数据包到多个接收者(一次的,同时的)的网络技术。

  B类地址:172.16.0.0~172.31.255.255

TCP报文首部格式

TCP报文

组播可以大大的节省网络带宽,因为无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。所以说组播技术的核心就是针对如何节约网络资源的前提下保证服务质量。

  C类地址:192.168.0.0~192.168.255.255

TCP协议的三次握手和四次挥手

注:
seq:"sequance"序列号;

ack:"acknowledge"确认号;

SYN:"synchronize"请求同步标志;

ACK:"acknowledge"确认标志";

FIN:"Finally"结束标志。

 

  另外IPv6地址长度为128位。

TCP连接建立过程

首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。

  • 计算机通信子网技术发展的顺序

 

TCP连接断开过程

线路交换-报文组交换-帧中继-ATM

5.子网划分-主机数

为什么要三次挥手?

在只有两次“握手”的情形下,假设Client想跟Server建立连接,但是却因为中途连接请求的数据报丢失了,故Client端不得不重新发送一遍;

这个时候Server端仅收到一个连接请求,因此可以正常的建立连接。

但是,有时候Client端重新发送请求不是因为数据报丢失了,而是有可能数据传输过程因为网络并发量很大在某结点被阻塞了,这种情形下Server端将先后收到2次请求,并持续等待两个Client请求向他发送数据...

问题就在这里,Cient端实际上只有一次请求,而Server端却有2个响应,极端的情况可能由于Client端多次重新发送请求数据而导致Server端最后建立了N多个响应在等待,因而造成极大的资源浪费!

所以,“三次握手”很有必要!

为什么要四次挥手?

试想一下,假如现在你是客户端你想断开跟Server的所有连接该怎么做?第一步,你自己先停止向Server端发送数据,并等待Server的回复。但事情还没有完,虽然你自身不往Server发送数据了,但是因为你们之前已经建立好平等的连接了,所以此时他也有主动权向你发送数据;故Server端还得终止主动向你发送数据,并等待你的确认。其实,说白了就是保证双方的一个合约的完整执行!

 

  一个网络号192.168.5.0/24,子网掩码是255.255.255.248,可以构建的最大子网数和每个子网最多可容纳多少台机器?

使用TCP的协议

FTP(文件传输协议)、
Telnet(远程登录协议)、
SMTP(简单邮件传输协议)、
POP3(和SMTP相对,用于接收邮件)、
HTTP协议等。
  • 分组交换、帧中继和异步传输的对比

  题目给出的IP地址空间基于CIDR划分,前24位是网络号,后8位是主机号。子网掩码最后是 248(1111 1000)。相当于主机号又被分成两部分, 前5位是子网号, 后3位是主机号,所以, 子网个数是 2^5, 主机个数为 2^3. 另外,主机号全 0 代表本地主机, 全 1 表示广播. 共 6 个有效的.

8. UDP协议

UDP用户数据报协议,是面向无连接的通讯协议。

UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。

UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。

UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。

因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。

相对于FTP或Telnet,这些服务需要交换的信息量较小。

每个UDP报文分UDP报头和UDP数据区两部分。报头由四个16位长(2字节)字段组成,分别说明该报文的源端口、目的端口、报文长度以及校验值。UDP报头由4个域组成,其中每个域各占用2个字节,具体如下:

  (1)源端口号;
  (2)目标端口号;
  (3)数据报长度;
  (4)校验值。

分组交换:以分组为单位,在网络层上进行;

 

使用UDP协议包括

TFTP(简单文件传输协议)、
SNMP(简单网络管理协议)、
DNS(域名解析协议)、
NFS、
BOOTP。

帧中继:以帧为单位,在数据链路层上进行;

6.网络设备作用及所属层

TCP 与 UDP 的区别:

TCP是面向连接的,可靠的字节流服务;UDP是面向无连接的,不可靠的数据报服务。

异步传输:以信元为单位,在数据链路层上进行,建立在大容量光纤介质基础上的,适用于LAN和WAN。

澳门新萄京:计算机网络基础知识,计算机网络知识总结。  (1)物理层

9. DNS协议

DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务,可以简单地理解为将URL转换为IP地址。

域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,在Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器。

DNS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。

异步传输模式(ATM)本质上一种高速分组交换模式,用固定大小的分组单元传送信息,支持多媒体通信,包括音频、视频和数据,结合了线路交换和分组交换的优点,被用于B-ISDN。

  转发器(repeater):有源转发器将信号解调后再生放大,再调制后传输。

10. NAT协议

NAT网络地址转换(Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术。

它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。

  集线器(hub):实现星形拓扑的以太网,简单转发比特。

11. DHCP协议

DHCP动态主机设置协议(Dynamic Host Configuration Protocol)是一个局域网网络协议,使用UDP协议工作,主要两个用途:

给内部网络或网络服务供应商自动分配IP地址,
给用户或者内部网络管理员作为对所有计算机作中央管理的手段。

  网线、中继器、网关。

12. HTTP协议

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。

  (2)数据链路层

HTTP 协议包括哪些请求

GET:请求读取由URL所标志的信息。

POST:给服务器添加信息(如注释)。

PUT:在给定的URL下存储一个文档。

DELETE:删除给定的URL所标志的资源。

  适配器(网卡):又称网络接口卡,用于计算机和局域网的通信。

HTTP 中POST 与 GET 的区别

  1)Get是从服务器上获取数据,Post是向服务器传送数据。

  2)Get是把参数数据队列加到提交表单的Action属性所指向的URL中,值和表单内各个字段一一对应,在URL中可以看到。

  3)Get传送的数据量小,不能大于2KB;Post传送的数据量较大,一般被默认为不受限制。

  4)根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。

I. 所谓 安全的 意味着该操作用于获取信息而非修改信息。换句话说,GET请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。

II. 幂等 的意味着对同一URL的多个请求应该返回同样的结果。

  网桥(bridge):用于在数据链路层扩展以太网,根据MAC帧的目的地址对收到的帧进行转发和过滤。含有转发表。它隔离了冲突域,但不隔离广播域。

13. 一个举例

在浏览器中输入 www.baidu.com 后执行的全部过程

现在假设如果我们在客户端(客户端)浏览器中输入http://www.baidu.com,而baidu.com为要访问的服务器(服务器),下面详细分析客户端为了访问服务器而执行的一系列关于协议的操作:

1)客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。

2)在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。

3)客户端的网络层不用关系应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。

4)客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。

转载于http://www.cnblogs.com/maybe2030/p/4781555.html#top

  第二层交换机(layer2 switch):多接口的网桥,又称以太网交换机或第二层交换机。可实现虚拟局域网VLAN(Virtual LAN)。

  (3)网络层

  第三层交换机(layer3 switch):能进行路由的交换机,具有一部分路由器功能。

  路由器(router):连接因特网中各局域网、广域网的设备。拥有路由选择处理机、交换结构、一组输入端口和一组输出端口。

 

7.主机字节序与网络字节序

  主机字节序一般分为大端和小端两种,在X86平台上一般采用小端模式。

  “小端”和“大端”表示多字节值的哪一端(小端或大端)存储在该值的起始地址。小端存在起始地址,即是小端字节序;大端存在起始地址,即是大端字节序。

  1.小端法(Little-Endian)就是低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端。

  2.大端法(Big-Endian)就是高位字节排放在内存的低地址端即该值的起始地址,低位字节排放在内存的高地址端。

澳门新萄京 5

  网络字节序:网络上的数据流是字节流,对于一个多字节数值,在进行网络传输的时候,收到的第一个字节被当作高位看待,这就要求发送端发送的第一个字节应当是高位。而在发送端发送数据时,发送的第一个字节是该数字在内存中起始地址对应的字节。可见多字节数值在发送前,在内存中数值应该以大端法存放。网络字节序说是大端字节序。

 

8.TCP和UDP的区别?

  TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。

  TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报。

  TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。

  附:TCP对应的协议和UDP对应的协议

  TCP对应的协议:

  (1) FTP:定义了文件传输协议,使用21端口。

  (2) Telnet:一种用于远程登陆的端口,使用23端口,用户可以以自己的身份远程连接到计算机上,可提供基于DOS模式下的通信服务。

  (3) SMTP:邮件传送协议,用于发送邮件。服务器开放的是25号端口。

  (4) POP3:它是和SMTP对应,POP3用于接收邮件。POP3协议所用的是110端口。

  (5)HTTP:是从Web服务器传输超文本到本地浏览器的传送协议。

  UDP对应的协议:

  (1) DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。

  (2) SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。

  (3) TFTP(Trival File Tran敏感词er Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。

本文由澳门新萄京发布于www.澳门新萄京赌场,转载请注明出处:澳门新萄京:计算机网络基础知识,计算机网络

上一篇:JVM处理String对象使用,for循环中缘何最佳使用S 下一篇:没有了
猜你喜欢
热门排行
精彩图文