网络分层

Overview

基本概念

 数据单元/格式TCP/IP层OSI层功能TCP/IP协议族典型设备
主机层Dagta(数据)应用层7. 应用层网络进程到应用程序。针对特定应用规定各层协议、时序、表示等,进行封装。在端系统中用软件来实现,如HTTP等DHCP、Telnet、FTP、HTTP、SNMP、DNS网关
6. 表示层数据表示形式,加密和解密,把机器相关的数据转换成独立于机器的数据。规定数据的格式化表示,数据格式的转换等  
5. 会话层主机间通讯,管理应用程序之间的会话。规定通信时序;数据交换的定界、同步,创建检查点等  
Segments(数据段)传输层4. 传输层在网络的各个节点之间可靠的分发数据包。所有传输遗留问题;复用;流量控制;可靠TCP UDP TLS/SSL 
媒介层 网络层 Internet3. 网络层负责IP地址。在网络的各个节点之间进行地址分配、路由和(不一定可靠的)分发报文。路由(IP寻址);拥塞控制分割和重新组合数据包IP ICMP BGP RIP路由器
Bit/Frame数据帧链路层2. 数据链路层负责MAC地址。一个可靠的点对点数据直链。检错与纠错(CRC码);多路访问;寻址WiFi ARP交换机、网桥、网卡
Bit 比特流1.物理层一个(不一定可靠的)点对点数据直链。定义机械特性;电气特性;功能特性;过程特性 调制解调器、中继器、集线器、同轴电缆、双绞线

https://en.wikipedia.org/wiki/Internet_protocol_suite

Overview of TCP/IP Protocol

Architectural Overview of the TCP/IP Protocol Suite

Overview of TCP/IP protocols,摘自《Unix网络编程 chapter2》

七层 应用层

应用层(Application Layer)提供为应用软件而设的界面,以设置与另一应用软件之间的通信。
针对某个特定的用户应用程序(FTP、Telnet等)
比如

  • HTTP Client与HTTP Server通信。
  • DNS client与DNS Server通信。

六层 表示层

表示层(Presentation Layer)把数据转换为能与接收者的系统格式兼容并适合传输的格式。

五层 会话层

会话层(Session Layer)负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接。

四层 传输层

传输层(Transport Layer)把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议(TCP)等。

TCP使用不可靠的IP服务,但是它提供一种可靠的运输层服务;UDP为应用程序接收和发送数据报。但是UDP是不可靠的,它不保证数据报能安全无误的到达目的地。

三层 网络层

在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点,确保数据及时传送。网络层将解封数据链路层收到的帧,提取数据包,包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。

IP是网际层的主要协议,同时被TCP和UDP使用;ICMP是IP的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要的信息;IGMP是Internet组管理协议。它用来把一个UDP数据报多播到多个主机。

数据的路径选择(分组的选路)、转发,将网络表头(NH)加至数据包,以形成分组。网络表头包含了网络数据。例如:互联网协议(IP)等。

寻址

路由器根据IP地址进行寻址,通过路由表路由协议产生

对网络层而言使用IP地址来唯一标识互联网上的设备,网络层依靠IP地址进行相互通信。

路由/转发

在同一个网络中的内部通信并不需要网络层设备,仅仅靠数据链路层就可以完成相互通信,对于不同的网络之间相互通信则必须借助路由器等三层设备。

数据包的转发,不在同一个局域网,他们彼此之间是不认识的,那么就不得不通过其他媒介,寻找到适当的方式才可以传输数据。

二层 链路层

二层交换,只能解决同一个局域网(彼此认识,mac地址)内的数据交换。

物理地址寻址、数据的成帧、流量控制、数据的检错、重发等

网络层(Network Layer)决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成分组。网络表头包含了网络数据。例如:互联网协议(IP)等。

设备驱动程序及接口卡

ARP(地址解析协议)和RARP(逆地址解析协议)是某些网络接口使用的特殊协议,用来转换IP层和网络接口层使用的地址。

交换机根据MAC地址寻址,通过站表选择路由,站表的建立和维护由交换机自动进行

一层 物理层

物理层(Physical Layer)在局部局域网上传送帧,它负责管理电脑通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机适配器等

疑问

为什么要平行层通信?
因为其它层看不懂该协议。(其他协议看不懂)

我觉得,也可以理解成相邻层之间的协议。比如

web中的后台与前台协定的数据格式,是不同层之间的协议。因为后台数据是给前台用的,前台http。

网络协议中,相邻层之间的

VPN算在哪个层?算网路协议吗?
按道理应该算协议,客户端和服务端都要遵守的约定。应该算在应用层吧。–by xs

vpn在IP层工作,而ss在TCP层工作

proxy算在哪个层?
应用层吧,至少socket之上

html5提出的websocket协议
属于应用层

待看/其他参考