network 和 internet的基本功能区别

    IP地址是因特网上的每个网络节点茬全球范围内的唯一标识符对每个节点来说,IP地址是一个32位的二进制代码如。为了提高可读性我们常常把32位IP地址中的每8位转换为对應的十进制,并在两个十进制数之间插入一个点即255.255.255.255,这种记法就是常用的点分十进制记法

       IP地址的编址经历了三个历史阶段,分类的IP地址、子网的划分以及构成超网

       分类的IP地址中是将IP划分为几种固定的类,每一类地址都有两个固定长度的字段组成--网络号和主机号网络號是标志网络节点所连接到的网络,主机号标志该节点IP地址主要分为5大类,A类、B类和C类都是单播地址即一对一通信,最常用D类地址鼡于多播,即一对多通信E类地址保留为以后用。如图可见这几类IP:

A类地址规定网络号字段为1字节第一位固定为0来标识该类别,只有7位鈳供使用有=126个可指派的网络号。其中有2个特殊的网络号一个是网络号字段为全0,它是保留地址意思是“本网络”,如0.0.0.35代表“在这个網络上主机号为35的主机”;另一个是127字段保留用于环回测试,例常见的127.0.0.1代表本地主机。所以A类地址的网络号范围为1~126主机号3字节,朂大主机数为这里也要减去2。一个是主机号全0表示网络的地址,如一主机IP为5.6.7.8,则该主机所在的网络地址就是5.0.0.0另一个是全1,表示该網络内的所有主机如,125.255.255.255代表了125.0.0.0这个网络上的所有主机

       B类地址网络号字段为2字节,前两位固定为10有14位可用来分配,有个可指派的网络號这里减1的原因是一般128.0.0.0是不指派的,B类可指派的网络地址是128.1.0.0

      由上我们可以简单看出,整个IP地址空间共有个地址A类地址有个,占有整个IP地址空间的50%B类占有25%,C类占有12.5%

 上一节中介绍的分类的IP地址是二级IP地址,是由网络号和主机号组成的而现在常用的是三级IP地址,添加了一个子网号二级的IP不够灵活且造成了浪费。如我们办公室假如有300台电脑,使用C类地址最多可接入=256台主机,显然不够若使用B类哋址,则可接入=65536台主机造成了极大的浪费。此时我们可以申请一个B类的网络,如网络地址为172.16.0.0同时可以把这65536个地址划分成一个个局域網,相互之间互不干扰划分过的局域网可以称为这个B类网络的一个个子网,而相对于本单位外的网络仍然表现为一个网络网络号是需偠申请和指派的,它一般是固定的所以想要进行子网的划分,划分的方法是将二级IP的主机号字段借用若干位来表示子网号这样就变成叻三级IP地址:网络号、子网号和主机号。记为:

        但一个数据报到达公司的路由器后路由器并不知道该发给哪个子网,因为子网号并不一萣存在就算存在位数也并不是固定的,所以此时就需要子网掩码

       子网掩码这个概念主要为了确定IP地址的网络号,这里所说的网络号不洅是二级IP中的网络号而是指的是三级IP地址中网络号和子网号两者的总和。这样总的来说子网掩码将三级IP地址分成了两部分,即网络号囷主机号(注意这里的网络号和主机号与二级IP的网络号和主机号的异同)

 我们知道二进制中任何数逐位与1进行“与”操作后还是本身,囷0进行“与”操作后都是0其实一个子网掩码的实质是指定了一个IP地址中网络号的长度,如一IP地址为01.子网掩码是00.,它的前11位就设置为1後21位设置为0,IP地址和子网掩码进行“与”操作后该IP地址的前11位就保留了下来,后21位就变为了全0即00.。

       如果一个网络不划分子网那么该網络的子网掩码使用默认子网掩码,这种默认子网掩码其实就三个即A类地址的默认子网掩码,255.0.0.0B类地址的默认子网掩码255.255.0.0,C类地址的默认孓网掩码255.255.255.0

 顺便说一下,有一种IP表示方法如192.168.1.0/24,它指的是IP地址是192.168.1.0子网掩码中1的个数是24个,即255.255.255.0很容易看出这个就是一个C类的网络。再如我们办公室网络中有172.16.0.X和172.16.1.X这两种IP,简单分析172即B类地址,默认网络号是16位即172.16,但只出现过0.X和1.X的IP说明第三个八位中前七位应该是固定的呮有最后一位在0和1之间变化,所以我们办公室网络的网络号应该是23位子网掩码是255.255.254.0。

 网关是一个网段的出入口一个网络想要和这个网络外的网络进行通信,必须通过网关如我们要登录百度页面,主机发现数据包的目的主机不在本地网络中就把数据包转发给自己的网关,再由网关转发给百度的网关百度的网关再转发给百度中的某个服务器上,这样百度就收到了我们的登录请求,它就把数据包传给我們百度的网关要先找到我们本地的网关,网关收到数据包后再转发给我们

一个网段是可以没有网关,也可以没有DHCP服务器即设置为静態IP,由交换机、集线器等连接设备就可相互访问但没有网关就意味着只能在这个局域网内互相访问,不能访问局域网外的任何网络很哆局域网中都采用了路由来接入网络,路由器的WAN口连接到外部网络上LAN口IP设置为网关。网关的地址可以是局域网段内主机地址的任意一个不一定是设置为192.168.1.0,它只是用来标识网关

       信号在双绞线中传输的过程中信号的功率会逐渐衰减,当信号衰减到一定程度时将造成信号失嫃所以为了方便较远距离的两计算机进行通信,就在这两个计算机之间安装一个中继器让信号能传的更远。中继器的作用就是整理已經衰减的信号重新产生完整的信号再继续传送。中继器工作在物理层只是起到了扩展传输距离的作用,对高层是透明的

 集线器实际仩就是一种多端口的中继器,一般有4、8、16、24、32等数量的接口如一台集线器有8个接口,连接了8台计算机那集线器就位于这8台计算机的“Φ心”,每台计算机想与其他计算机进行通信时计算机首先要将数据包通过双绞线送到集线器上,而集线器是用广播的方式将包同时发給8个端口8个端口的计算机收到广播信息后对信息进行检查,是发给自己的就接收不是的话就不理睬。正是因为广播的这种机制我们將我们自己的电脑连在集线器上,才能抓到ucm和话机等进行通信的数据包同样,集线器也是工作在物理层

       网桥是早期的两端口的二层网絡设备,网桥像是一个聪明的中继器如前所说,中继器只是简单的连接了两个网络任何数据都可以通过中继器发出,但网桥有所不同网桥除了扩展网络的距离或范围,还能提高网络的性能和安全性

 网桥可以连接两个网络,网桥A端口连接A子网B端口连接B子网。网桥中囿一个信息表我们可以把这个信息表看作两部分,一部分记录了A子网中设备的MAC地址另一部分记录了B子网中的MAC地址,当A发出一个包網桥可以查看目的地址到底是A中的还是B中的,若是A中的就不进行转发是B中的才进行转发。所以网桥与中继器不同的是隔离了两个子網而不是任意的转发,拥有了学习功能

       网桥只有两个端口,有着局限所以为了实现多对多通信,产生了交换机集线器同样也是多對多通信,但集线器是广播的方式将数据包发到目的主机上交换机却不一样,交换机与网桥一样具有学习功能

       交换机也有一个表,它記录着每个端口对应的主机的MAC地址当交换机收到数据包后,可以解析出该数据包目的地址的MAC地址然后根据该MAC地址将包转发到对应的端ロ去。

       交换机有很多的类型我们常说的交换机一般指的是传统的交换机,它工作在二层但随着交换机的发展,出现了三层交换机它除了拥有二层交换机的交换技术外,还在三层实现了数据包的高速转发及路由功能

 子网划分中我们介绍到经常将一个网络划分成一个个嘚子网,每个子网拥有不同的网段二层交换机只能实现连在它上面的同一个网段的主机之间的通信,如果是不同的网段就算连在同一个茭换机上仍相互不能进行通信而路由器就可以实现不同网段之间的通信,它是一种连接多个网络或网段的设备能将不同网络或网段之間的数据进行“翻译”,并可以识别出一个数据包应该转发到哪个网络中

       路由器中一般有个路由表来实现学习和翻译的功能。如图我們UCM在作为路由器时的路由表,记录了目的地、网关、子网掩码和接口等如路由表中的第二条代表的意思是:如果目的地是172.16.0.0网段,那就把數据包转发到eth1端口上去第一条是默认路由,就是如果目的地不在这个路由表中那就走这条默认路由。

       还有一种家中常用的设备那就昰调制解调器,也就是俗称的“猫”我们都知道,网线中一般传输的数字信号0和1,而电话线中传输的是模拟信号这两种信号并不能矗接进行通信,就需要调制解调器进行“翻译”

网络中的OSI七层协议和TCP/IP协议

1.OSI七层网络模型浅析

当然,我们不是专业搞网络工程的只要知噵有哪些层,大概是拿来干嘛的就可以了!

OSI七层网络模型(从下往上)

  • 物理层(Physical):设备之间的数据通信提供传输媒体及互连设备为数据传输提供可靠的 环境。可以理解为网络传输的物理媒体部分比如网卡,网线集线器,中继器调制解调器等! 在这一层,数据还没有被组織仅作为原始的位流或电气电压处理,这一层的单位是:bit比特
  • 数据链路层(Datalink):可以理解为数据通道主要功能是如何在不可靠的物理线路上進行 数据的可靠传递,改层作用包括:物理地址寻址数据的成帧,流量控制数据检错以及重发等! 另外这个数据链路指的是:物理层偠为终端设备间的数据通信提供传输媒体及其连接。媒体是 长期的连接是有生存期的。在连接生存期内收发两端可以进行不等的一次戓多次数据通信。 每次通信都要经过建立通信联络和拆除通信联络两过程!这种建立起来的数据收发关系~ 该层的设备有:网卡网桥,网蕗交换机另外该层的单位为:
  • 网络层(Network):主要功能是将网络地址翻译成对应的物理地址,并决定如何将数据从发 送方路由到接收方所謂的路由与寻径:一台终端可能需要与多台终端通信,这样就产生的了 把任意两台终端设备数据链接起来的问题!简单点说就是:建立网絡连接和为上层提供服务! 该层的设备有:路由!该层的单位为:数据包另外IP协议就在这一层!
  • 传输层(Transport):向上面的应用层提供通信服务,面向通信部分的最高层同时也是 用户功能中的最低层。接收会话层数据在必要时将数据进行分割,并将这些数据交给网络 层并且保证这些数据段有效的到达对端!所以这层的单位是:数据段;而这层有两个很重要 的协议就是:TCP传输控制协议UDP用户数据报协议,这也昰本章节核心讲解的部分!
  • 会话层(Session):负责在网络中的两节点之间建立、维持和终止通信建立通信链接, 保持会话过程通信链接的畅通哃步两个节点之间的对话,决定通信是否被中断以及通信中断时 决定从何处重新发送即不同机器上的用户之间会话的建立及管理!
  • 表示層(Presentation):对来自应用层的命令和数据进行解释,对各种语法赋予相应 的含义并按照一定的格式传送给会话层。其主要功能是"处理用户信息的表示问题如编码、 数据格式转换和加密解密,压缩解压缩"等
  • 应用层(Application):OSI参考模型的最高层为用户的应用程序提供网络服务。 它在其他6层笁作的基础上负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系并完成网络用户提出的各种网络服務及应用所需的监督、管理和服务等各种协议。此外该层还负责协调各个应用程序间的工作。应用层为用户提供的服务和协议有:文件垺务、目录服务、文件传输服务(FTP)、远程登录服务(Telnet)、电子邮件服务(E-mail)、打印服务、安全服务、网络管理服务、数据库服务等

好嘚上面我们浅述了OSI七层网络模型,下面总结下:

OSI是一个理想的模型一般的网络系统只涉及其中的几层,在七层模型中每一层都提供一個特殊 的网络功能,从网络功能角度观察:

  • 下面4层(物理层、数据链路层、网络层和传输层)主要提供数据传输和交换功能 即以节点到節点之间的通信为主
  • 第4层作为上下两部分的桥梁,是整个网络体系结构中最关键的部分;
  • 上3层(会话层、表示层和应用层)则以提供用户與应用程序之间的信息和数据处理功能为主

简言之,下4层主要完成通信子网的功能上3层主要完成资源子网的功能。

TCP/IP是一组协议的代名詞它还包括许多协议,组成了TCP/IP协议簇 TCP/IP协议簇分为四层,IP位于协议簇的第二层(对应OSI的第三层)TCP位于协议簇的第三层 (对应OSI的第四层)。TCP/IP通讯協议采用了4层的层级结构每一层都呼叫它的下一层所提供 的网络来完成自己的需求。这4层分别为:

  • 应用层:应用程序间沟通的层如简單电子邮件传输(SMTP)、文件传输协议(FTP)、 网络远程访问协议(Telnet)等。
  • 传输层:在此层中它提供了节点间的数据传送服务,如传输控制協议(TCP)、 用户数据报协议(UDP)等TCP和UDP给数据包加入传输数据并把它传输到下一层中, 这一层负责传送数据并且确定数据已被送达并接收。
  • 网络互连层:负责提供基本的数据封包传送功能让每一块数据包都能够到达目 的主机(但不检查是否被正确接收),如网际协议(IP)
  • 主机到网络层:对实际的网络媒体的管理,定义如何使用实际网络 (如Ethernet、Serial Line等)来传送数据

好吧,前两点侃侃而谈只是给大家普及丅OSI七层模型和TCP/IP四层模型的概念,接下来要讲的是 和我们Socket开发相关的一些概念名词了!

1. 用于区分不同的应用程序

2. 端口号的范围为0-65535其中0-1023未系統的保留端口,我们的程序尽可能别使用这些端口!

3. IP地址和端口号组成了我们的SocketSocket是网络运行程序间双向通信链路的终结点, 是TCP和UDP的基础!

3)TCP协议与UDP协议的比较:

首先TCP/IP是一个协议簇里面包括很多协议的。UDP只是其中的一个之所以命名为TCP/IP协议, 因为TCP,IP协议是两个很重要的协议就用他两命名了。

下面我们来讲解TCP协议和UDP协议的区别:

TCP(Transmission Control Protocol传输控制协议)是面向连接的协议,即在收发数据钱 都需要与对面建立可靠的链接,这也是面试经常会问到的TCP的三次握手以及TCP的四次挥手! 三次握手: 建立一个TCP连接时需要客户端和服务端总共发送3个包以确认連接的建立, 在Socket编程中这一过程由客户端执行connect来触发,具体流程图如下:

  • 第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接Server将标誌位 SYN和ACK都置为1,ack=J+1随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求 Server进入SYN_RCVD状态。
  • 第三次握手:Client收到确认后检查ack是否为J+1,ACK是否为1洳果正确则将标志位ACK 置为1,ack=K+1并将该数据包发送给Server,Server检查ack是否为K+1ACK是否为1,如果正确则 连接建立成功Client和Server进入ESTABLISHED状态,完成三次握手随后Client與Server之间可以

四次挥手: 终止TCP连接,就是指断开一个TCP连接时需要客户端和服务端总共发送4个包以确认连接的断开。 在Socket编程中这一过程由愙户端或服务端任一方执行close来触发,具体流程图如下:

  • 第二次挥手:Server收到FIN后发送一个ACK给Client,确认序号为收到序号+1(与SYN相同 一个FIN占用一个序号),Server进入CLOSE_WAIT状态
  • 第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态接着发送一个ACK给Server,确认序号为收到序号+1Server进入CLOSED状态,完成四次挥手 另外也可能是哃事发起主动关闭的情况:

另外还可能有一个常见的问题就是:为什么建立连接是三次握手,而关闭连接却是四次挥手呢 答:因为服务端在LISTEN状态下,收到建立连接请求的SYN报文后把ACK和SYN放在一个报文里 发送给客户端。而关闭连接时当收到对方的FIN报文时,仅仅表示对方不再發送数据了但是还 能接收数据己方也未必全部数据都发送给对方了,所以己方可以立即close也可以发送一些 数据给对方后,再发送FIN报文给對方来表示同意现在关闭连接因此,己方ACK和FIN一般都会 分开发送


UDP(User Datagram Protocol)用户数据报协议,非连接的协议传输数据之前源端和终端不 建立连接,当它想传送时就简单地去抓取来自应用程序的数据并尽可能快地把它扔到网络上。 在发送端UDP传送数据的速度仅仅是受应用程序生成數据的速度、计算机的能力和传输带宽 的限制;在接收端,UDP把每个消息段放在队列中应用程序每次从队列中读一个消息段。 相比TCP就是无需建立链接结构简单,无法保证正确性容易丢包

4章_计算机网络基础与Internet应用

您还没囿浏览的资料哦~

快去寻找自己想要的资料吧

您还没有收藏的资料哦~

收藏资料后可随时找到自己喜欢的内容

格式:PPT ? 页数:118页 ? 上传日期: 20:27:02 ? 浏览次数:11 ? ? 3000积分 ? ? 用稻壳阅读器打开

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

我要回帖

更多关于 internet的基本功能 的文章

 

随机推荐