计算机网络基础知识

计算机网络分层

OSI网络七层结构

OSI(Open System Interconnection, 开放系统互连 )七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如路由器,交换机。OSI 七层模型是一种框架性的设计方法 ,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能使就是帮助不同类型的主机实现数据传输。 它的最大优点是将服务、接口和协议这三个概念明确地区分开来 ,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。而TCP/IP是一种四层的网络结构,因此我们折中学习,学习计算机网络基础的时候,往往是学习五层协议:物理层,数据链路层,传输层,网络层,应用层。

物理层

       计算机的世界里只有0和1,它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特 。如果没有物理层, 那么也就不存在互联网, 不存在数据的共享, 因为数据无法在网络中流动.
      在这一层工作的硬件有:网卡,网线,集线器,中继器,调制解调器。

数据链路层

       定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。在数据链路层上传输的数据我们成为MAC帧,。
      MAC地址又称之位计算机硬件地址,它是固化在网卡上的48位地址,它是在全球唯一标识一台主机的地址。
      在这一层工作的硬件有网桥和交换机,网桥根据MAC帧的目的地址对收到的帧进行转发和过滤,而交换机的作用将局域网划分成更小的区域,因为在局域网中同一时间只允许一台计算机发送报文,为了降低冲突,就有了交换机。
      在这一层的协议有以太网协议令牌环网协议
      由于数据在这次曾要被分割成一个一个的帧, 由于不同的链路规定了不同的最大帧长, 即MTU(最大传输单元),这就叫分组交换

网络层

       如果只有数据链路层没有网络层, 数据就只能在同一条链路上传输, 不能跨链路传输. 有了网络层, 数据便能跨域不同的数据链路传输.
      工作在这一层的硬件主要是路由器(这里说的路由器不是我们家中的路由器),一个作用是连通不同的网络,另一个作用是选择信息传送的线路。选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率。
      这一层的的协议有IP,ARP,ICMP协议,我们主要学习IP协议。那什么是IP地址呢.IP地址又称位计算机软件地址。在ipv4协议下有32位,ipv6协议下有128位。它就是因特网为标识全世界唯一一台主机而分配的。
            *MAC地址工作在数据链路层及其以下,IP地址工作与网络层及其以上。
            *MAC地址经由不同的路由器转发时候会发生变化,即MAC数据报头的源地址和目标地址。
            *IP地址是逻辑地址,MAC地址是物理地址,IP地址不会发生改变。
IP地址的分类

IP地址 = {<网络号>, <主机号>}

A类地址 : 0.0.0.0 ~ 127.0.0.0,由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。
B类地址 : 128.0.0.0 ~ 191.255.0.0,由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”。
C类地址 : 192.0.0.0 ~ 223.255.255.0,由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。

其中,D类地址用于多点广播,还有E类地址留做后续使用。

划分子网及子网掩码

      两级IP地址是由网络号加上主机号来组成,但是两级IP地址存在着缺陷,IP地址空间利用率有时很低,给每个物理网络分配一个网络号会使路由表变得太大因而降低网络性能,给每个物理网络分配一个网络号会使路由表变得太大因而降低网络性能,因此我们需要把网络划分成子网。

      划分子网的方法:从网络的主机号划分若干位作为子网号使用,主机号减少相应的位数,三级IP= {<网络号>,<子网号>,<主机号>}

      子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。一般由一串1和一串0组成, 不管网络有没有划分子网, 将子网掩码和IP地址做按位与运算即可得出网络地址.

传输层

       这一层,定义了一些传输数据的协议和端口号(WWW端口80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段,网关就是工作在这一层往上的。

      这一层我们主要研究两种两种协议,TCP协议和UDP协议。

UDP协议特点:

  • 无连接
  • 尽最大努力交付
  • 面向报文 : 应用层交下来的报文直接加上UDP头部就往IP层扔, 不合并也不拆分
  • 没有拥塞控制
  • 支持一对一, 一对多, 多对一和多对多的交互通信
  • 首部开销小, 只有8个字节的
UDP数据报头:

TCP协议特点:

  • 面向连接的运输层协议
  • 每一条TCP连接只能有2个端点, TCP是点对点的
  • 提供可靠交付
  • 全双工通信
  • 面向字节流
TCP数据报头:

我们把ip地址加上端口号就叫做socket套接字,我们可以基于套接字来进行编程,实现主机之间的通信。

应用层

是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。应用层协议最著名的就是HTTP, FTP了, 还有一个重要的DNS。

DNS(Domain Name System)能将域名(www.baidu.com)解析成ip地址。域名服务器的分类:

  • 根域名服务器 : 最高层次的域名服务器
  • 顶级域名服务器 : 如其名
  • 权限域名服务器 : 负责一个区的应服务器
  • 本地域名服务器 : 主机发送DNS查询请求就是发给它
DNS查询分为两类,一类是迭代查询,一类是递归查询。

URL

URL的格式 : <协议>://<主机>:<端口>/<路径>, 端口和路径有时可省略.

使用HTTP协议的URL : http://<主机>:<端口>/<路径>, HTTP默认端口号是80。

HTTP协议

HTTP是面向事务的, 即它传输的数据是一个整体, 要么全部收到, 要么全部收不到.

每一次HTTP请求就需要建立一次TCP连接和释放TCP连接.

HTTP是无连接, 无状态的. 每一次请求都是作为一次新请求.

HTTP/1.0 缺点 : 无连接, 每一次请求都要重新建立TCP连接, 所以每一次HTTP请求都要花费2倍RTT时间(一次TCP请求, 一次HTTP请求)

HTTP/1.1 : 使用持续连接, 即保持TCP连接一段时间.


  • 7
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值