我是靠谱客的博主 能干酸奶,最近开发中收集的这篇文章主要介绍【计算机网络第六版(谢希仁)】网络要点总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、网络分层

               OSI 七层模型、TCP/IP 四层模型、五层模型图:

     OSI 七层模型:

          1、 物理层:主要定义物理标准,如网线的接口类型、光纤的接口类型、各种介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,

到大目的地后在转化为 1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫比特。

          2、数据链路层:定义了如何让格式化数据以数据帧为单位进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。

(即 封装成帧、透明传输、差错检测)如:串口通信中使用到的 115200、8、N、1。

          3、网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet 的发展使得从世界各个站点访问信息的用户数大大增加,而网络层正是管理

这种连接的层。即 网络层负责数据包从源到宿的传递和网际互连(包PackeT)

           4、传输层:定义了一些传输数据的协议和端口(www 端口 80 等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),

UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求高,数据量小的数据,如QQ聊天就是通过这种方式传输的)。主要是将从下层接收的数据进行分段和传

输,到大目的地址后再进行重组。常常把这一层数据叫做段。传输层,提供端到端的可靠报文传递和错误恢复(段Segment)

           5、会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接收会话请求。(设备之间需要相互认识可以是 IP 也

可以是 MAC 或者是主机名)。即,会话层:建立、管理和终止会话(会话协议数据单元SPDU)

           6、表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC 程序员与另一台计算机进行通信,其中一台计算机使用扩展二一十进制

交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。即,表示

:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)

          7、应用层:是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。

      

     TCP/IP 四层模型:

    

二、典型协议

               传输层:         常见的协议有  TCP/UDP 协议

               应用层:         常见的协议有 HTTP,FTP 协议

               网络层:         常见的协议有 IP 协议,ICMP 协议,IGMP 协议

               网络接口层:  常见的协议有 ARP 协议,RARP 协议

               TCP      传输控协议(TransmissionControl Protocol)是一种面向连接的,可靠的,基于字节流的传输层通信协议

               UDP      用户数据包协议(UserDatagram Protocol)是 OSI 参考模型中一种无连接的传输层协议,提供面向事物的简单不可靠信息传送服务

               HTTP    超文本传输系协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种协议

               FTP       文件传输协议(File Transfer Protocol)

               IP          协议是英特网互联协议(Internet Protocol)

               ICMP     协议是 Internet 控制报文协议(Internet Control Message Protocol),它是 TCP/IP 协议族的一个子协议,用于在 IP 主机、路由器之间传递控制消息

               IGMP     协议是 Internet 网际组管理协议,是英特网协议家族中的一个组播协议。该协议运行在主机和组播路由之间

               ARP       协议是正向地址解析协议(Address Resolution Protocol),通过已知的 IP,寻找对应主机的 MAC 地址

               RARP    协议是方向地址解析协议,通过 MAC 地址确定 IP地址

               TFTP      协议是 TCP/IP 协议族中的一个用来在客户机和服务器之间进行简单文件传输的协议,提供不复杂、开销不大

的文件传输协议

               DHCP     协议,动态主机配置协议,是一种让系统得以连接到网络上的,并获取 所需要的配置参数的手段

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

三、TCP 和 UDP对应的协议

TCP 对应的协议:

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

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

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

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

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

UDP对应的协议:

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

(2)、SNMP:简单网络管理协议,使用 161 号端口,是用来管理网络设备。

(3)、TFTP:简单文件传输协议,在 69 号端口上使用 UDP 服务。


四、IP地址的分类:

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

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

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

10.0.0.0-10.255.255.255,172.16.0.0-172.31.255.255,192.168.0.0-192.168.255.255(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查询失败。

广播发送ARP请求,单播发送ARP响应。

六、描述:RARP

RARP是逆地址解析协议,作用是完成硬件地址到IP地址的映射,主要用于无盘工作站,因为给无盘工作站配置的IP地址不能保存。工作流程:在

网络中配置一台RARP服务器,里面保存着IP地址和MAC地址的映射关系,当无盘工作站启动后,就封装一个RARP数据包,里面有其MAC地址,然后

广播到网络上去,当服务器收到请求包后,就查找对应的MAC地址的IP地址装入响应报文中发回给请求者。因为需要广播请求报文,因此RARP只能用

于具有广播能力的网络。


七、浏览器中输入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数据包到达服务器的地址。

八、DNS域名系统,简单描述其工作原理。

当DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:包括:指定的DNS域名,

指定的查询类型,DNS域名的指定类别。基于UDP服务,端口53. 该应用一般不直接为用户使用,而是为其他应用服务,如HTTP,SMTP等在其中需

要完成主机名到IP地址的转换。

九、面向连接和非面向连接的服务的特点是什么?

面向连接的服务,通信双方在进行通信之前,要先在双方建立起一个完整的可以彼此沟通的通道,在通信过程中,整个连接的情况一直可以被实

时地监控和管理。非面向连接的服务,不需要预先建立一个联络两个通信节点的连接,需要通信的时候,发送节点就可以往网络上发送信息,让信息

自主地在网络上去传,一般在传输的过程中不再加以监控。

十、了解交换机、路由器、网关的概念、并知道各自的用途

(1)、交换机

在计算机网络系统中,交换机是针对共享工作模式的弱点推出的。交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的所有端口都挂接在这条背部总线上,当控制电路 收到数据包以后,处理端口会查找内存中的地址对照表以确定目的 MAC (网卡的硬件地址)的 NIC(网卡)

挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口。目的 MAC 若不存在,交换机才广播到所有的端口,接收端口回应后交换机会”学习“ 新的地址。并把它添加到内部地址表或中。

交换机工作于 OSI 参考模型的第二层,即数据链路层。交换机内部的CPU 会在每个端口成功连接时,通过 ARP 协议学习它的 MAC 地址,保存一张 ARP 表。在今后的通讯中,发往该 MAC 地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。

交换机被广泛用于二层 网络交换,俗称“二层交换机”。

交换机的种类有:二层交换机,三层交换机、四层交换机、七层交换机分别工作 OSI 七层模型中的第二层、第三层、第七层,并因此得名。

(2)、路由器

路由器是一种计算机网络设备,提供了路由与转送两种重要机制,可以决定数据包从来源段到目的端所经过的路由路径(host 到 host 之间的传输路径),这个过程称之为路由;将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称为传送。路由工作在 OSI 模型的第三层 — 即网络层,例如,网际协议。

路由器的一个作用是联通一个网络,另一个作用是选择信息传送的路径。路由器与交换器的差别,路由器是属于 OSI 第三层产品,交换器是属于OSI第二层产品(这里指的是二层交换机)。

(3)、网关

网关,顾名思义就是连接两个网络的设备,却别在于路由器(由于历史的原因,许多有关 TCP/IP 的文献曾经把网络层使用的路由器称为网关,在今天很多局域网采用的都是路由来接入网络,因此,现在通常指的网关就是路由器的 IP),经常在家庭中或者小型企业中使用,用于连接局域网和 Internet。网关经常指把一种协议转换成另一种协议的设备,比如语音网关。

在传统 TCP/IP 术语中,网络设备只分为两种,一种网关,另一种主机。网关能在网络之间传送数据包,但主机不能传送数据包。在主机中,数据包经过 TCP/IP 四层协议处理,但是在网关(又称中介系统)只需到达网际层,决定路径之后就可以传送。在当时,网关与路由器还没有区别。

在现代网络术语中,网关(gateway)与路由器(router)的定义不同。网关(gateway)能在不同协议间移动数据,而路由器(router)

是在不同网络间移动数据,相当于传统所说的IP网关(IP gateway)。

网关是连接两个网路的设备,对于语音网关来说,它可以连接 PSTN 网路和以太网,这就相当于 VOIP,把不同电话中的模拟信号通过网关转换成数字信号,而且加入协议再去传输。在到了接收端的时候在通过网关还原成模拟的电话信号,最后才能在主机上听到。

对于以太网中的网关只能转发三层以上数据包,这一点和路由是一样的。而不同的是网关中并没有路由表,他只能按照预先设定的不同

网段来进行转发。网关最重要的一点就是端口映射,子网内用户在外网看来只是外网的IP地址对应着不同的端口,这样看来就会保护子网内的用户。

十一、端口及对应的服务?

服务

端口号

服务

端口号

FTP

21

SSH

22

telnet

23

SMTP

25

Domain(域名服务器)

53

HTTP

80

POP3

110

NTP(网络时间协议)

123

MySQL数据库服务

3306

Shell或 cmd

514

POP-2

109

SQL Server

1433












十二、IP数据包的格式

IP数据报由首部 和数据  两部分组成。首部由固定部分和可选部分  组成。首部的固定部分有 20 字节。可选部分的长度变化范围为1——40字节。固定部分的字段:

字段名

位数(bit)

字段名

位数

版本

4  Ipv4

首部长度

4(表示的最大数为15个单位,一个单位表示4字节)

服务类型

8  以前很少用

总长度

16 (首部和数据部分的总长度,因此数据报的最大长度为65535字节,即64KB,但是由于链路层的MAC都有一定的最大传输单元,因此IP数据报的长度一般都不会有理论上的那么大,如果超出了MAC的最大单元就会进行分片)

标识

16 (相同的标识使得分片后的数据报片能正确的重装成原来的数据报)

标志

3 (最低位MF=1表示后面还有分片,MF=0表示这是若干个数据报片的最后一个中间位DF=0才允许分片)

片偏移

片偏移指出较长的分组在分片后,某片在原分组中的相对位置,都是8字节的偏移位置

生存时间

数据报在网络中的生存时间,指最多经过路由器的跳数

协议

8 (指出该数据报携带的数据是何种协议,以使得目的主机的IP层知道应将数据部分上交给哪个处理程序)如ICMP=1 IGMP=2 TCP=6 EGP=8 IGP=9 UDP=17 Ipv6=41 OSPF=89

首部校验和

这个部分只校验首部,不包括数据部分,计算方法:将首部划分为多个16位的部分,然后每个16位部分取反,然后计算和,再将和取反放到首部校验和。接收方收到后按同样的方法划分,取反,求和,在取反,如果结果为零,则接收,否则就丢弃

源地址

32

目的地址

32
























十三、TCP数据报的格式?

一个TCP报文段分为首部和数据两部分。首部由固定部分和选项部分组成,固定部分是20字节。TCP首部的最大长度为60。首部固定部分字段:


字段名

字节(Byte)

字段名

字节(Byte)

源端口

2

目的端口

2

序号

4

确认号

4,是期望收到对方的下一个报文段的数据的第一个字节的序号

数据偏移

4bit 指出TCP报文段的数据起始处距离TCP报文段的起始有多远

保留

6bit

紧急比特URG

确认比特ACK

只有当ACK=1时,确认号字段才有效

推送比特PSH

复位比特RST

同步比特SYN

终止比特FIN

窗口

2

检验和

2 (包括首部和数据两部分,同时还要加12字节的伪首部进行校验和计算)

选项

长度可变(范围1——40)















TCP的12字节伪首部:

源IP地址(4)

目的IP地址(4)

0 (1)

6(1) 代表这是TCP,IP协议中提到过

TCP长度(2)

TCP数据报的格式?

用户数据报UDP由首部和数据部分组成。首部只有8个字节,由4个字段组成,每个字段都是两个字节。


字段名

字节

字段名

字节

源端口

2

目的端口

2

长度

2

检验和

2 (检验首部和数据,加12字节的伪首部)



UDP的12字节伪首部:

源IP地址(4)

目的IP地址(4)

0 (1)

17(1) 代表这是UDP

UDP长度(2)

以太网MAC帧格式?

前导码 前定界符 目的地址 源目的地址 长度字段 数据字段 校验字段
7B 1B 6B 6B 2B 46-1500 4B







十四、TCP的12字节伪首部:

源IP地址(4)

目的IP地址(4)

0 (1)

6(1) 代表这是TCP,IP协议中提到过

TCP长度(2)



十五、TCP数据报的格式?

用户数据报UDP由首部和数据部分组成。首部只有8个字节,由4个字段组成,每个字段都是两个字节。


字段名

字节

字段名

字节

源端口

2

目的端口

2

长度

2

检验和

2 (检验首部和数据,加12字节的伪首部)







UDP的12字节伪首部:

源IP地址(4)

目的IP地址(4)

0 (1)

17(1) 代表这是UDP

UDP长度(2)



十六、以太网MAC帧格式?

前导码 前定界符 目的地址 源目的地址 长度字段 数据字段 校验字段
7B 1B 6B 6B 2B 46-1500 4B


最后

以上就是能干酸奶为你收集整理的【计算机网络第六版(谢希仁)】网络要点总结的全部内容,希望文章能够帮你解决【计算机网络第六版(谢希仁)】网络要点总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部