【计算机网络】OSI的七层协议

0、计算机网络体系结构

计算机网络体系结构,如下图所示:

计算机网络体系结构

各层作用及协议(从底层往上层):

分层 作用 协议
物理层 通过媒介传输比特,确定机械及电气规范(比特 Bit) RJ45、CLOCK、IEEE802.3(中继器,集线器)
数据链路层 将比特组装成帧和点到点的传递(帧 Frame) PPP、FR、HDLC、VLAN、MAC(网桥,交换机)
网络层 负责数据包从源到宿的传递和网际互连(包 Packet) IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP(路由器)
运输层 提供端到端的可靠报文传递和错误恢复( 段 Segment) TCP、UDP、SPX
会话层 建立、管理和终止会话(会话协议数据单元 SPDU) NFS、SQL、NETBIOS、RPC
表示层 对数据进行翻译、加密和压缩(表示协议数据单元 PPDU) JPEG、MPEG、ASII
应用层 允许访问OSI环境的手段(应用协议数据单元 APDU) FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS

一、物理层

  • 传输数据的单位:比特 Bit
  • 数据传输系统:源系统(源点、发送器) --> 传输系统 --> 目的系统(接收器、终点)

通道:

  • 单向通道(单工通道):只能一个方向通信,没有反方向交互,如广播
  • 双向交替通信(半双工通信):通信双方都可发消息,但不能同时发送或接收
  • 双向同时通信(全双工通信):通信双方可以同时发送和接收信息

通道复用技术:

  • 频分复用(FDM,Frequency Division Multiplexing):不同用户在不同频带,所用用户在同样时间占用不同带宽资源
  • 时分复用(TDM,Time Division Multiplexing):不同用户在同一时间段的不同时间片,所有用户在不同时间占用同样的频带宽度
  • 波分复用(WDM,Wavelength Division Multiplexing):光的频分复用
  • 码分复用(CDM,Code Division Multiplexing):不同用户使用不同的码,可以在同样时间使用同样频带通信

二、数据链路层

主要信道:

  • 点对点信道
  • 广播信道

(1)点对点信道

  • 数据单元:帧

三个基本问题:

  • 封装成帧:把网络层的 IP 数据报封装成帧,SOH - 数据部分 - EOT
  • 透明传输:不管数据部分什么字符,都能传输出去;可以通过字节填充方法解决(冲突字符前加转义字符)
  • 差错检测:降低误码率(BER,Bit Error Rate),广泛使用循环冗余检测(CRC,Cyclic Redundancy Check)

点对点协议(Point-to-Point Protocol):

  • 即用户计算机和 ISP 通信时所使用的协议

(2)广播信道

  • 硬件地址(物理地址、MAC 地址)
  • 单播(unicast)帧(一对一):收到的帧的 MAC 地址与本站的硬件地址相同
  • 广播(broadcast)帧(一对全体):发送给本局域网上所有站点的帧
  • 多播(multicast)帧(一对多):发送给本局域网上一部分站点的帧

三、网络层

  • IP(Internet Protocol,网际协议)是为计算机网络相互连接进行通信而设计的协议。
  • ARP(Address Resolution Protocol,地址解析协议)
  • ICMP(Internet Control Message Protocol,网际控制报文协议)
  • IGMP(Internet Group Management Protocol,网际组管理协议)

IP 网际协议

IP 地址分类:

img


  • IP 地址由四段组成,每个字段是一个字节 8 位,使用点分十进制记法。
  • IP 地址由两部分组成,即网络地址和主机地址。网络地址表示其属于互联网的哪一个网络,主机地址表示其属于该网络中的哪一台主机,二者是主从关系。
  • A、B、C 类分别用于大型网络、中型网络、小型网络。A 类能容纳网络 2^7-2,即 126 个网络,依次类推。我们亚洲使用的是 B 类地址。
  • 另外,0.0.0.0 指的是任意网络。255.255.255.255 是当前子网的广播地址。

IP 数据报格式:

IP 数据报格式


ICMP 网际控制报文协议

ICMP 报文格式:

img

应用:

  • PING(Packet InterNet Groper,分组网间探测)测试两个主机之间的连通性。
  • TTL(Time To Live,生存时间)该字段指定 IP 包被路由器丢弃之前允许通过的最大网段数量。

内部网关协议

  • RIP(Routing Information Protocol,路由信息协议)
  • OSPF(Open Sortest Path First,开放最短路径优先)

外部网关协议

  • BGP(Border Gateway Protocol,边界网关协议)

IP多播

  • IGMP(Internet Group Management Protocol,网际组管理协议)
  • 多播路由选择协议

VPN 和 NAT

  • VPN(Virtual Private Network,虚拟专用网)
  • NAT(Network Address Translation,网络地址转换)

路由表包含什么?

  • 网络 ID(Network ID, Network number):就是目标地址的网络 ID。
  • 子网掩码(subnet mask):用来判断 IP 所属网络。
  • 下一跳地址/接口(Next hop / interface):就是数据在发送到目标地址的旅途中下一站的地址。其中 interface 指向 next hop(即为下一个 route)。一个自治系统(AS, Autonomous system)中的 route 应该包含区域内所有的子网络,而默认网关(Network id: 0.0.0.0, Netmask: 0.0.0.0)指向自治系统的出口。

根据应用和执行的不同,路由表可能含有如下附加信息:

  • 花费(Cost):就是数据发送过程中通过路径所需要的花费。

  • 路由的服务质量。

  • 路由中需要过滤的出/入连接列表。

四、运输层

协议:

  • TCP(Transmission Control Protocol,传输控制协议)
  • UDP(User Datagram Protocol,用户数据报协议)

具体的内容留到下一篇讲解。

五、应用层

端口:

应用程序 FTP TELNET SMTP DNS TFTP HTTP HTTPS SNMP
端口号 21 23 25 53 69 80 443 161

FTP

  • FTP(File Transfer Protocol,文件传输协议)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式,使用 TCP 数据报,提供交互式访问,双向传输。
  • TFTP(Trivial File Transfer Protocol,简单文件传输协议)一个小且易实现的文件传输协议,也使用客户-服务器方式,使用 UDP 数据报,只支持文件传输而不支持交互,没有列目录,不能对用户进行身份鉴定。

TELNET

  • TELNET 协议是 TCP/IP 协议族中的一员,是 Internet 远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。
  • HTTP(HyperText Transfer Protocol,超文本传输协议)是用于从 WWW(World Wide Web,万维网)服务器传输超文本到本地浏览器的传送协议。
  • SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。
  • Socket 建立网络通信连接至少要一对端口号(Socket)。Socket 本质是编程接口(API),对 TCP/IP 的封装,TCP/IP 也要提供可供程序员做网络开发所用的接口,这就是 Socket 编程接口。

SMTP

  • SMTP(Simple Main Transfer Protocol,简单邮件传输协议)是在 Internet 传输 Email 的标准,是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输。可以很简单地通过 Telnet 程序来测试一个 SMTP 服务器。SMTP 使用 TCP 端口 25。

DNS

  • DNS(Domain Name System,域名系统)是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 端口 53。当前,对于每一级域名长度的限制是 63 个字符,域名总长度则不能超过 253 个字符。

域名

  • w3school.com.cn 就是一个域名,当你键入一个像 http://www.w3school.com.cn这样的域名,域名会被 DNS 服务器翻译为数字。

  • 在全世界,数量庞大的 DNS 服务器被连入因特网。DNS 服务器负责将域名翻译为 TCP/IP 地址,同时负责使用新的域名信息更新彼此的系统。

  • 当一个新的域名连同其 TCP/IP 地址一同注册后,全世界的 DNS 服务器都会对此信息进行更新。域名系统是一个分布的数据库,它提供将主机名(就是网址啦)转换成IP地址的服务。

WWW

  • WWW(World Wide Web,环球信息网,万维网)是一个由许多互相链接的超文本组成的系统,通过互联网访问。

URL

  • URL(Uniform Resource Locator,统一资源定位符)是因特网上标准的资源的地址(Address)

标准格式:

  • 协议类型:[//服务器地址[:端口号]][/资源层级UNIX文件路径]文件名[?查询][#片段ID]

完整格式:

  • 协议类型:[//[访问资源需要的凭证信息@]服务器地址[:端口号]][/资源层级UNIX文件路径]文件名[?查询][#片段ID]

其中【访问凭证信息@;:端口号;?查询;#片段ID】都属于选填项
如:https://github.com/huihut/interview#cc

HTTP

HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP 是万维网的数据通信的基础。

请求方法:

方法 意义
OPTIONS 请求一些选项信息,允许客户端查看服务器的性能
GET 请求指定的页面信息,并返回实体主体
HEAD 类似于 get 请求,只不过返回的响应中没有具体的内容,用于获取报头
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改
PUT 从客户端向服务器传送的数据取代指定的文档的内容
DELETE 请求服务器删除指定的页面
TRACE 回显服务器收到的请求,主要用于测试或诊断

状态码参考:菜鸟教程 . HTTP状态码

SNMP

  • SNMP(Simple Network Management Protocol,简单网络管理协议)构成了互联网工程工作小组(IETF,Internet Engineering Task Force)定义的 Internet 协议族的一部分。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。

其它协议

DHCP(Dynamic Host Configuration Protocol,动态主机设置协议)是一个局域网的网络协议,使用 UDP 协议工作,主要有两个用途:

  • 用于内部网络或网络服务供应商自动分配 IP 地址给用户
  • 用于内部网络管理员作为对所有电脑作中央管理的手段

参考:

GitHub-interview


posted @ 2019-08-14 14:39  fengMisaka  阅读(1003)  评论(0编辑  收藏  举报