# 基础知识

其实啊,这些关键词都是很入门的网络基础概念,对于已经是老司机的网工来说,看的就是个创意,对于入门小白来说,看的是科普,对于行外人来说,看的就是热闹了。

# IP地址是个啥?

官方解释:IP地址(Internet Protocol Address),全称为网际协议地址,是一种在Internet上的给主机编址的方式。它是IP协议提供的一种统一的地址格式,常见的IP地址分为IPv4与IPv6两大类,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

现在是互联网大行的时代,所以,我们每个人在生活中其实都在接触IP地址。

只要你使用具有上网功能的电子设备,就都有IP地址。这样理解吧,每个人都有身份证,所以每个上网设备也都有IP地址。

每个人之间相互联系需要互相知道对方名字/联系方式,那么每个上网设备之间需相互联系,则通过IP地址来搞定。

IP地址目前分为IPv4和IPv6地址。 IPv是“Internet Protocol Version”(互联网协议版本)的缩写,4和6这样的数字代表“版本几”。

# 子网掩码又是个啥?

官方解释:子网掩码(英文:subnet mask,又称“网络掩码”、“地址掩码”)是一种用来指明一个IP地址的哪些位标识的是主机所在的网络地址与主机地址的位掩码。通常情况下,子网掩码和地址本身的表示方法是一样的。在IPv4中,就是点分十进制四组表示法或表示为一个八位十六进制数,后者用得较少。子网掩码不能单独存在,它必须结合IP地址一起使用。

子网掩码和IP地址一样,也是一个32位的二进制数。那长得差不多,为啥它和IP地址为什么非要在一起用呢?

老杨给你这样解释,他就像是IP地址的“照妖镜”。你看啊,IP地址那么多那么乱,我们怎么分的请哪个能用哪个不能用?哪个是a,哪个是b?

这时候,把子网掩码这个镜子拿出来一照,哟呵,这下就能知道IP地址的“真面目”了。

那如果单独用照妖镜,没有妖怪,它怎么能释放它的大招,秒杀敌方呢?

再举个例子:

你收到了一封全是外文的来信,信封上写着全是外文的收件人和地址。

因为全是外文,你由于语言限制分不清哪个是哪个,这个时候子网掩码就跑出来,给你翻译一下,告诉你左边是地址,右边是收件人。

子网掩码不仅能辨别IP地址是什么种类,也可以辨别它们是有效的还是无效的,是局域网上的还是远程网上的,这样才能更好的实现网络的正常连接。

# 网关到底是啥?

官方解释:网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。

这个长得和路由器差不多的东西就是网关(Gateway),目前很多路由器都有网关的功能。

网关是对两个网络段中,使用的不同传输协议的数据进行互相翻译转换的设备。从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关,即网络的“入口”或者“出口”。

网关就好像是主机内部的“门”。一个房间可以有多扇门,一台主机可以有多个网关。

举个例子:

网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩255.255.255.0;

如果需要与其它网段通信,那么它的网关可以设置为192.168.1.1。

网络B的IP地址范为“192.168.2.1~192.168.2.254”,子网掩码255.255.255.0。

如果需要与其它网段通信,那么它的网关可以设置为192.168.2.1。

在没有路由器的情况下,不同的两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。

而要实现这两个网络之间的通信,则必须通过网关。

如果网络A中的主机,发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机,网络B向网络A转发数据包,这样才能产生通信。

所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。

互联网流量必须直接路由到正确的地方,数据是如何知道自己要去哪里的呢?它是如何左到这一点的呢? 这就是tcp/IP出现的覅,代表传输控制协议和internet协议。

最顶层称为应用层,是网络浏览器等程序直接与该层交互的地方。 其中访问网站是http协议,电子邮件是smtp协议。 下一层称为传输层,tcp和udp在这层。 udp对于低延迟应用程序(比如在线游戏)会更快更有用。传输层通过端口,可以将每个端口分配给应用程序层中的不用协议。以便tcp知道数据来自哪里。比如浏览器中的大多数活动将通过端口80,一旦tcp获得数据,他就会将其切成称为数据包的小块。以便他们可以处理。tcp会在后面按照正确的顺序重新组装数据。

数据将传输到互联网层(网络层),该层使用互联网协议或ip来附加源和目标ip地址,以便数据包知道它来自哪里以及要去哪里。 然后数据通过最后的链路层发送,该层处理诸如mac寻址之类的事情。以便数据包通过到正确的物理机器以及将数据转换为电脉冲,这些电脉冲实际上会被解调。

每个数据包单独避免拥塞和瓶颈,如果所有数据在每个会话期间都必须沿着相同的路由传输,tcp/ip还进一步简化了事情,因为它可以处理来自所有计算机应用程序的数据包。


以下内容来自于《Linux系统最佳实践工具:命令行技术》书籍内容摘抄和总结

# TCP/IP模型

TCP/IP模型各层介绍如下:

  1. 物理层和数据链路层在物理层和数据链路层,TCP/IP并没有定义任何特定的协议。它支持所有标准的和专用的协议。在TCP/IP互联网中的网络可以是局域网(LAN)、城域网(MAN)或广域网(WAN)

  2. 网络层在网络层(或更加准确些,是互联网层),TCP/IP支持网际协议(IP)。而IP又由4个协议组成:ARP、RARP、ICMP和IGMP。

网际协议(IP)是TCP/IP协议使用的传输机制。这个不可靠的、无连接的数据报协议尽最大努力提供服务。“尽最大努力”表示IP不提供差错检测或跟踪。IP假定了下面几层是不可靠的,并尽最大努力将数据报传送到终点,但不做出保证。IP所运输的以分组为单位的数据叫做数据报,每一个数据报都是独立传输的。不同的数据报可以走不同的路由,也可能不按序或重复地到达。IP不记录使用过的路由,并且一旦数据报到达终点后,IP就没有办法将数据报重新排序。然而IP的这些有限的功能不应当看成是它的弱点。IP提供了最基本的传输功能,使得用户能够很容易地增加对某种应用所需的功能,这样就可以获得最高的效率。

  • 地址解析协议(ARP)

地址解析协议(ARP)用来将IP地址与其物理地址联系起来。在具体的物理网络中,例如在局域网中,在一条链路上的每一个设备都是用物理地址或站地址来标志的,而物理地址通常是写在网络接口卡(NIC)中的。当结点的IP地址已知时,可以用ARP找出其物理地址。

  • 反向地址解析协议(RARP)

反向地址解析协议(RARP)允许主机在仅知道其物理地址时可发现其IP地址。当计算机第一次连接到网络上时,或当无盘计算机在启动时,就要用到RARP。

  • Internet控制消息协议(ICMP)

Internet控制消息协议(ICMP)是主机和路由器使用的一种机制,用来将数据报出现的问题以发送通知的方式反馈给发送器。

  • Internet组管理协议(IGMP)Internet组管理协议(IGMP)用来将一份报文同时传送给一组接收者。
  1. 传输层

在TCP/IP协议族中有两个传输层协议:TCP和UDP。IP是主机到主机协议,即把分组从一个物理设备交付到另一个物理设备。UDP和TCP是运输级协议,负责将报文从一个进程(运行着的程序)交付到另一个进程。

  • 用户数据报协议(UDP)用户数据报协议(UDP)是两个标准的TCP/IP运输协议中较为简单的一个。UDP是进程到进程协议,并在从上层来的数据上只增加端口地址、检验和差错控制,以及长度信息。

  • 传输控制协议(TCP)传输控制协议(TCP)向应用层提供全部的传输层服务。TCP是可靠的流式传输协议。术语“流”在这里表示面向连接:在传输数据之前,传输的两端之间必须先建立一条连接。

在发送端的每一次传输,TCP将数据流划分为较小的单元,称为报文段。每一个报文段都有序号(用来在收到报文段后进行重新排序)和确认号(用来对收到的报文段进行确认)。报文段放在IP数据报中在互联网中传送。TCP将到达的数据报收集起来,并根据序号将它们按传输时的顺序重新排序。

  1. 应用层

TCP/IP中的应用层相当于OSI模型中的会话层、表示层和应用层的组合。在这一层定义了许多协议。包括HTTP、FTP、SMTP、DNS等协议。

  • 文件传输协议文件传输协议(FTP)允许用户将一个系统上的文件复制到另一个系统上。

  • 简单邮件传输协议简单邮件传输协议(SMTP)用于传输电子邮件。

  • 域名服务器协议域名服务器协议(DNS)能使一台设备具有的普通名字转换成某个特定的网络地址。

  • 超文本传送协议(HTTP)HTTP的功能像FTP和SMTP的组合。它与FTP相似是因为它能够传送文件并使用TCP连接。但是,它比FTP简单得多,因为它只使用一条TCP连接(熟知端口80)。没有分开的控制连接,在客户和服务器之间只有数据传送。

TCP/IP四层模型和OSI七层模型对应表:

关于评论

评论前请填好“昵称”、“邮箱”这两栏内容,否则不会收到回复,谢谢!