- 积分
- 40
- 鸿鹄币
- 个
- 好评度
- 点
- 精华
- 最后登录
- 1970-1-1
- 阅读权限
- 10
- 听众
- 收听
网络小学徒

|
传输控制协议/因特网协议(TCP/IP)组是由美国国防部(DoD)所创建的,主要用来确保数据的完整性及在毁灭性战争中维持通信。
一:TCP/IP和DoD模型
DoD模型基本上是OSI模型的一个浓缩版本,它只有4个层次,而不是7个,它们是:
过程/应用层
主机到主机层
因特网层
网络接入层
DoD模型和OSI参考模型之间的比较:
过程/应用程 ——→应用层、表示层、会话层
主机到主机层——→传输层
因特网层 ——→网络层
网络接入层 ——→数据链路层、物理层
1.过程/应用层协议:
Telnet:它允许一个用户在远程客户端(被称为Telnet客户)访问另一台机器(称为Telnet服务器)上的资源。<23端口>
文本传输协议(FTP):它实际上就是传输文件协议,它可以应用在任意两台主机之间。但是FTP不仅仅是个协议,它同时也是一个程序。作为协议,FTP是被应用程序所使用的;而作为程序,用户需要通过手动方式来使用FTP并完成文件的传送。<21端口>
简单文件传输协议(TFTP):它是FTP的简化版本,TFTP不提供目录浏览的功能,它只能完成文件的发送和接收操作。(注:TFTP没有FTP所需要的传送确认,因而是不可靠协议。)<69端口>
网络文件系统(NFS):它允许两个不同类型的文件系统实现互操作。(注:既是面向连接又是无连接。)
简单邮件传输协议(SMTP):它对应于我们普遍使用的被称为E-mail的应用,它描述了邮件传递中的假脱机、排列及方法。(注:SMTP用来发送邮件、POP3用来接收邮件)<25端口>
行式打印机守护进程(LPD) PD协议设计用于实现打印机共享。LPD和LRP(行式打印机程序)允许将打印任务发送到打印池中,再使用TCP/IP发送到网络打印机上。
X Window:为客户/服务器操作而设计,X Window定义了一个编写基于图形化用户界面(GUI)的客户/服务器应用程序的协议。它允许在一台计算机上运行一个被称为客户的程序,并使它可以在另一台计算机上显示为一个所谓窗口服务器的程序。
简单网络管理协议(SNMP):它通过从管理站定期或不定期地轮询网络上的设备来获取数据,并要求这些设备透漏某些与管理相关的信息,当所有设备都工作正常时,SNMP会接收到被称为基线的信息,即一个界定健康网络运转特性的报告。这个协议也可以被描述为整个网络的看门狗,它可以很快地通告管理人员任何突然事件的发生。这些网络看门狗被成为代理,并且当一个故障发生时,这些代理会发送一个称为陷阱的警告给管理站。<161端口>
域名服务(DNS):它可以解析主机名,特别是Internet名。<53端口>
动态主机配置协议(DHCP)/引导协议(BootP):它们的不同点在于,BootP也可以完成给主机分配IP地址的任务,但它要求主机的硬件地址必须被手工输入到BootP表中。可以将DHCP看成是一个动态的BootP。(注:BootP还可以将用来引导主机的操作系统发送给主机,而DHCP却不能,DHCP是无连接的,它工作在传输层(即主机到主机层)使用用户数据报协议(UDP)。)
2.主机到主机层协议:
·传输控制协议(TCP):TCP通常从应用程序中得到大段的信息数据,然后将它分割成若干个数据段。TCP会为这些数据编号并排序,这样,在目的方的TCP协议栈才可以将这些数据段再重新组成原来应用数据的结构。由于TCP采用的是虚电路连接方式,这些数据段在被发送出去后,发送方的TCP会等待接收方TCP给出一个确认性答应,那些没有收到确认应答的数据段将被重新发送。(注:TCP是一个全双工的、面向连接的、可靠的并且是精确控制的协议。)
TCP的数据段格式:
源端口号(Source port):主机发送数据应用的端口号。
目的端口号(Destination port):在目的主机上请求应用程序的端口号。
序列号(Sequence number):一个由TCP用于将数据编排回原来正确的顺序或用于对丢失或损坏的数据进行重传的编号,这样的处理过程称为顺序控制(排序)。
确认应答号(Acknowledgement number):用于说明下一个所期望接收的TCP八位组数据。
头长度(header length):在TCP头中包含的32位字的数量。用来指明数据的其实位置。TCP头的长度(即使包含有选项)是一个32位的整数倍。
保留(Reserved):总是被设置为零。
代码位(Core bits):用于建立及结束会话的控制的功能。
窗口(Window):是发送方将被允许的发送窗口尺寸,用八进制式表示。
校验和(Checksum):循环冗余校验(CRC),由于TCP不相信它的低层,因此会校验所有的数据.此CRC用于校验报头和数据字段。
紧急(Urgent):当紧急指针代码位被设置时为有效字段,如果有效,这个值指明了当前序列号的八位组的偏移值,即第一个非紧急数据的起始位置。
选项(Options):在需要时,可以是0或32位的倍数,也就是说,没有选项存在时,选项的大小为0,然而,如果所使用的选项所占用的字段不是32位的整数倍,则需要填充若干个0来确保始于32位的边界上。
数据(Data):指被传送到传输层的TCP协议的数据,它包含有上层数据的报头。
·用户数据报协议(UDP):UDP基本上是一个缩小规模的经济化模式,有时也被称为瘦协议。(注:UDP是不可靠协议。)
UDP数据段的格式:
源端口号(Source port):发送数据主机上应用程序的端口号。
目的端口号(Destination port):目的主机上请求应用程序的端口号。
长度(Length):UDP报头和UDP数据的长度。
校验和(Checksum):UDP报头和UDP数据的长度。
数据(Data):上层数据。
TCP和UDP的重要功能:
TCP:排序、可靠、面向连接、需电路、确认、窗口流量控制
UDP:无序、不可靠、无连接、低开销、无确认、没有窗口和流量控制
TCP和UDP的主要协议:
TCP:Telnet、SMTP、HTTP、FTP、DNS、HTTPS
UDP:SNMP、TFTP、DNS
3.因特网层协议:
因特网协议(IP)
因特网控制报文协议(ICMP)
地址解析协议(ARP)
逆向地址解析协议(RARP)
代理ARP
·因特网协议(IP):工作在网络层
构成IP报头的字段:
版本(Version):IP版本号。
报头长度(Header Length):32位字的报头长度(HLEN)。
优先级和服务类型(Priority & Type of Service):服务类型描述数据报将如何被处理。前3位表示优先级位。
总长度(Total Length):包括报头和数据的数据包长度。
标识(Identification):唯一的数据包值。
标志(Flags):说明是否有数据包被分段。
分段偏移(Fragment offset):如果数据包在装入桢时太大,则需要进行分段和重组。分段功能允许在因特网上存在有大小不同的最大传输单元(MTU)。
存活期(Time to live,TTL):存活期是在数据包产生时建立在其内部的一个设置。如果这个数据包在这个TTL到期时仍没有到达它要去的目的地,那么它将被丢弃。这个设置将防止IP包寻找目的地的时候在网络中不断循环。
协议(Protocol):上层协议的端口(TCP是端口6,UDP是端口17(十六进制))。同样也支持网络层协议,如ARP和ICMP。在某些分析器中被称为类型字段。
报头校验和(Header Checksum):只针对报头的循环冗余校验(CRC)。
源IP地址(Source IP Address):发送站的32位IP地址。
目的IP地址(Destination IP Address):数据报目的方站点的32位IP地址。
选项(Options):用于网络检测、调试、安全以及更多的内容。
数据(Data):在IP选项字段后面的就是上层数据。
·因特网控制报文协议(ICMP):工作在网络层,它被IP用于提供许多不同的服务。
其特性:
能为主机提供有关网络故障的信息。
被封装在IP数据报内。
·地址解析协议(ARP):ARP可以有已知主机的IP地址在网络上查找到它的硬件地址。
·逆向地址解析协议(RARP):将以太网(MAC)地址解析为IP地址。
·代理地址解析协议(代理ARP):网络上不允许主机配置多个默认网关,那么来考虑一下,如果某个默认网关(路由器)因故障而停机,会怎么样?这时,该主机就不能再向其他的路由器发送数据,你需要重新配置这台主机。而代理ARP则可以在这种情况下自动帮助那些在某个子网中的主机,在不重新配置路由甚至默认网关下,发送数据到远程子网。(注:代理ARP并不是一个真正独立的协议,它只是路由器上运行的一个代表某些其他设备(通常是PC)的服务,尽管主机会以为它们在与这些设备共享同一个子网,但实际上这些设备是被某个路由器所分隔开的。)
二:网络地址
1.A类地址:在一个A类网络地址中,第一个字节被用来表示网络地址,而其后面的3个字节被用来表示结点地址。
A类地址的格式是: 网络.结点.结点.结点
IP地址方案的设计者指定,在一个A类网络地址中,其第一个字节的第一位必须一直是0,或是被设置为off,这就意味着一个A类地址,它的第一个字节的取值必须是介于0和127之间。
0xxxxxxx
将该地址中的其他7位全部设置为off,然后再将它们设置为on,这时,将会得到A类网络地址的取值范围:
0 0000000=0
0 1111111=127
全0的网络地址(00000000)是被保留用来指向默认路由的,另外,地址127同样也不能被使用,它是被保留用于诊断的,这样,可以真正用来指定A类网络的网络地址只能从1到126。
2.B类网络地址:在一个B类网络地址中,其前面两个字节被用来表示网络地址,而剩下的两个字节是用来表示结点地址。
B类地址的格式是: 网络.网络.结点.结点
在B类地址中,RFC要求其第一个字节的第一位必须一直被设置为on,但是第二位也必须一直被设置为off,如果将其他六位全部设置为off,然后再设置为on,将可以得到B类网络地址的地址取值范围:
10 000000=128
10 111111=191
正如所看到的,B类网络它的首字节定义在128到191之间。
3.C类网络地址:一个C类网络地址的前3个字节用来表示网络号,只有一个字节被用来表示结点地址。
C类地址的格式是: 网络.网络.网络.结点
对于C类网络,RFC要求它的第一个八位位组的前面两位要一直被置为on,但是第三位决不可以为on。进行同前面两类地址一样的处理,从而找出C类网络地址的范围:
110 00000=192
110 11111=223
于是,如果见到一个IP地址起始于192并直到223,便可以认定它是一个C类地址。
4.D类和E类网络地址:介于224和255之间的地址被保留用做D类和E类网络。D类是用于组播的地址(224-239),而E类(240到255)用于科学实验。(注:合法的主机号是介于网络地址和广播地址之间的地址号)
网络地址:用于特殊目的
有些IP地址被保留用于某些特殊目的,网络管理员不能将这些地址分配给结点。
保留的IP地址:
网络地址全部为0的地址:意指"这个网络或分段"
网络地址全部为1的地址:意指"全部网络"
网络127.0.0.1:被保留用于环回测试。指向本地结点,并且允许该结点发送测试数据包给自己而不产生网络流量
结点地址全部为0的地址:意指"网络地址"或指定网络中的任一主机
结点地址全部为1的地址:意指指定网络上的"所有结点",例如,128.2.255.255意指指定128.2网络上的"所有结点"
整个IP地址设置为全0的地址:被Cisco路由器用来指定默认路由。也可以指"任意网络"
整个IP地址设置为全1的地址:在当前网络上对所有结点的广播,有时被称为"全1(如255.255.255.255)广播"或受限广播
被保留的私有地址:
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
三:广播地址
4种不同类型的广播:
1.第2层广播:用于在局域网上向所有的结点发送数据。
2.广播(第3层):用于在这个网络向所有的结点发送数据。
3.单播:用于向单一目标主机发送数据(组播地址起始于224.0.0.0并终止于239.255.255.255)
4.组播:用于将来自单一源的数据包传送给在不同网络上的多台设备。 |
|