linux--网络基础

来源:互联网 发布:mac qq音乐退出登录 编辑:程序博客网 时间:2024/06/02 04:29

一,协议:

日常生活中,人类也是有些默认的协议,比如当你行要向一个陌生人需要询问时间的时候如图所示。对”你好“的典型响应是返回一个”你好“报文。此人用一个”你好“进行响应,隐含着一种知识,意味着你可以继续向那个人询问时间。另一个例子是:我们在网上买了一个手机,手机从北京往上海快递,距离这么远就是靠快递包装上面的地址送到你的手上。在网络中,当进行远距离传输的时候,数据就好比是我们买的手机,协议就是我们的包装快递上的地址,确保数据能够正确的传输。


协议的分层:


在以上每一层都有自己的协议,我们把额外增加的协议内容叫做报头,每一层都有属于自己的报头。层与层之间有上写层关系,上层使用下层的接口来接收数据,下层根据上层的接口来交赋数据。每一层的协议为:


其中以太网和令牌环网是两个不同的局域网。

二,TCP/IP四层模型:

TCP/IP是一组协议的代名词,它包含许多的协议组成了TCP/IP协议簇。TCP/IP协议簇分为四层分别为:

应用层:应用于程序之间的沟通,比如电子邮件(SMTP)、文件传输协议(FTP)、网络远程访问协议。

传输层:提供了节点间的数据传输服务,比如传输控制协议(TCP)、用户数据报协议(UDP)等等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传输数据,并且保证数据已被送达并接受。

互连网络层:负责提供基本的数据封装包传送功能,让每一块数据包都能够达到目的主机,但是不检查是否被正确接受。

网络接口层:对实际的网络媒体的管理。定义如何使用实际网络来传输数据。

三,TCP/IP协议栈与数据包封装

两台计算机通过TCP/IP协议在相同局域网通讯的过程为:


应用层把数据包自顶向下进行交赋封装,因为发数据只能是以太驱动程序。

我们把用户自顶向下添加报头的过程叫做封装。当前层永远认为上层交给我的都是数据,而且不关心里面的数据是什么,就像是快递员给你送的快递,他永远不知道快递里面是什么东西。每一层都认为只有自己的报头,那么如何区分报头和数据呢,就要用到协议,每一层协议都要做到将自己的有效数据部分和自己的报头分离,,而分离的方法有定长报头、自描述性报头(有效数据叫做有效载核)。

每一层协议在忽略掉底层协议下都认为自己在和对面的同等层的协议直接通信,就好比两人打电话聊天,忽略了电话的存在。

不同的协议层对数据包有不同的称谓,在传输层叫段,在网络层叫数据报,在链路层叫做帧。数据分装后发到传输介质上,到达目的的主机后每层协议再剥掉相应的首部,最后将应用数据交给应用程序处理。

其封装原理图为:


当两个计算机在不同的局域网通信的原理图为:


四,端口:

在网络技术中端口(Port)一般有两层含义,一种是物理意义上的端口,比如集线器,路由器,交换机等等用于连接其他的网络设备接口,另外一种是逻辑意义上的端口,指TCP/IP协议中的接口,端口号是从0~65535,总共65536个端口,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。

常见的网络端口号:

ftp:定义了文件传输协议,使用21端口。常说某某主机开了 ftp服务便是文件传输服务。下载文件,上传主页,都要用到ftp服务。

  telnet:你上BBS吗?以前的BBS是纯字符界面的,支持BBS的服务器将23端口打开,对外提供服务。其实Telnet的真正意思是远程登陆:用户可以以自己的身份远程连接到主机上。
  smtp:定义了简单邮件传送协议。现在很多邮件服务器都用的是这个协议,用于发送邮件。服务器开放的是25端口。
  http:这可是大家用得最多的协议了——超文本传送协议。上网浏览网页就需要用到它,那么提供网页资源的主机就得打开其80端口以提供服务。我们常说“提供www服务”、“Web服务器”就是这个意思。
  pop3:和smtp对应,pop3用于接收邮件。通常情况下,pop3协议所用的是110端口。在263等免费邮箱中,几乎都有pop3收信功能。也就是说,只要你有相应的使用pop3协议的程序(例如Foxmail或Outlook),不需要从Web方式登陆进邮箱界面,即可以收信。
  使用UDP端口常见的有:
  DNS:域名解析服务。因特网上的每一台计算机都有一个网络地址与之对应,这个地址就是我们常说的IP地址,它以纯数字的形式表示。然而这却不便记忆,于是出现了域名。访问主机的时候只需要知道域名,域名和IP地址之间的变换由DNS服务器来完成。DNS用的是53端口。
  snmp:简单网络管理协议,使用161端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。