计算机网络分层简单理解

  • 分层模型
  • 物理层
  • 数据链路层
  • 网络层
  • 传输层
    • UDP协议
    • TCP协议
      • 三次握手
      • 四次挥手
  • 应用层
  • session、token和cookie概念

分层模型


分层模型共有七层,从上到下分别为应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

但实际表示层和会话层仅存在于概念中,实际应用中并未用到,所以将表示层和会话层与应用层合称应用程,即为五层模型

也有在五层模型基础上,将数据链路层和物理层视作一层,即为四层模型

下面从下往上简单介绍各分层的分工

物理层

物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,该层的主要任务是:确定与传输媒体的接口的一些特性

物理层的主要特性:
1、机械特性
2、电气特性
3、功能特性
4、过程特性

信道概念:

信道一般用来表示向某一个方向传送消息的媒体,根据传输的方向,又可以分为单向信道和双向信道

单向通信:只能由一个方向的通信而没有反方向的交互

双向交替通信(半双工通信):通信的双方都可以放松消息,但是不能双方同时发送

双向同时通信(全双工通信):通信的双方可以同时发送和接收消息

信道的极限容量就是平时常见的带宽概念

数据链路层

链路:是一条无源的点到点的物理线路段,中间没有任何其他的交换结点,一条链路只是一条通路的一个组成部分

数据链路:处理物理线路外,还必须有通信协议来控制这些数据的传输,若把实现这些协议的硬件和软件加在链路上,就构成了数据链路
目前最常用的方法是使用适配器(网卡)来实现这些协议的硬件和软件

数据链路层要解决的是三个问题:

1、封装成帧:将网络层传输来的数据加上头(SOH,Start Of Header)和尾(EOT,End Of Transmission),组成一个帧

2、透明传输:防止数据中碰巧出现SOH或者EOT导致解析错误,解决方案就是在给数据封装成帧之前,将其中的SOH或者EOT前面加上填充字符(对比理解转义字符)

3、差错检测:防止传输过程中可能产生的比特差错,1变成0、0变成1

数据链路层有两个子层:逻辑链路控制(Logical Link Control)和媒体接入控制(Medium Access Control)
其中媒体接入控制对应mac地址,就是计算机(网卡)的物理地址

mac地址又叫做硬件地址或者物理地址;
mac地址在网卡生产出厂就已经确定了,厂商会确保生产出的适配器没有重复地址

IEEE 802标准规定MAC地址字段可采用6字节(48位)或者2字节(16位)两种的其中一种。
IEEE的注册管理机构RA负责向厂家分配地址字段6个字节中的前三个字节(高位24位),成为组织唯一标识符
低位24位由厂家自行指派,称为唯一标识

点对点协议、广播信道、以太网等概念均位于数据链路层

网络层

网络层介于传输层和链路层之间,其主要作用是实现两个网络系统之间的数据透明传送;网络层是网络之间通信的最底层,网络层是IP协议所在层

网际协议IP是TCP/IP体系中两个最重要的协议之一,与IP协议配套使用的还有三个协议:地址解析协议ARP、网际控制报文协议ICMP和网际组管理协议IGMP

IP地址位32位二进制,每8位为一组,共四组,每组转换为十进制后,中间使用逗号隔开,就转换成了常见的IP地址

常见的IP地址为三级结构:主网号>子网号>主机号

使用子网掩码对三级IP结构进行计算,可以得出子网的网络地址

传输层

传输层主要是提供不同主机上的进程之间的逻辑通信,即使在不可靠的网络层(主机间的逻辑通信)传输下,传输层也能提供可靠的传输

网络层的重点是IP地址,而传输层寻址的重点是进程的端口号

补充概念:套接字(Socket) = (Host IP, port)

UDP协议

User Data Protocol,用户数据报协议,无连接服务(通信不需要建立连接),主要用于多媒体信息分发(对速度要求较高,单元数据丢失影响不大)

UDP数据报分为两部分UDP首部和用户数据,首部8个字节,4个2字节字段组成

UDP协议校验数据原则:有错就丢弃

TCP协议

Transmission Control Protocol,传输控制协议,面向连接服务(通信需要建立连接),主要提供可靠信息传输

TCP数据报同样分为数据头部和用户数据两个部分,不过其头部信息远比UDP协议头要多

三次握手

第一次握手:
当客户端向服务器发起连接请求时,客户端会发送同步序列标号SYN到服务器,在这里我们设SYN为m,等待服务器确认,这是客户端的状态为SYN_SENT

第二次握手:
当服务器收到客户端发送的SYN后,服务器要做的是确认客户端发送过来的SYN,在这里服务器发送确认包ACK,这里的ACK为m+1,意思是说“我收到了你发送的SYN”
同时,服务器也会向客户端发送一个SYN包,这里我们设SYN为n,这是服务器的状态为SYN_RECV
在此时,服务器为该TCP连接分配TCP缓存和变量。服务器资源在此时分配(而客户端在第三次完成才分配资源)。记录了客户端的请求信息,如果没收到来自客户端的第三次回话,就会在一段时间内缓存TCP信息,这也是黑客攻击服务器的SYN洪泛攻击

第三次握手
客户端收到了服务器发送的SYN和ACK后,需要向服务器发送确认包ACK,意思是“我也收到了你发送的SYN”,这里的ACK为n+1,发送完毕后,客户端和服务器的状态为ESTABLISH,即TCP连接成功

四次挥手

第一次挥手
A端向B端请求断开连接时会向B端发送一个带有FIN标记的报文端,这里的FIN是FINISH的意思

第二次挥手
B端收到A发送的的FIN后,B端现在可能还有数据没有传完,所以B端不会马上向A端发送FIN,而是先发送一个确认序号ACK,意思是“发送的断开请求收到了,但是还有数据没发完,请稍等”

第三次挥手
当B端数据发送完成,那么B端就可以断开连接了,此时B端再想A端发送FIN序号,意思是这次可以断开连接了

第四次挥手
A端收到B端发送的FIN后,会向B端发送ACK,然后经过两个MSL时长后断开连接
MSL是Maximum Seqment Lifetime,最大报文段生存时间,2MSL是报文段发送和接收的最长时间

应用层

应用层是面向用户的一层

FTP、HTTP、HTTPS、DNS和TELNET等协议都是应用层协议

DNS
Domain Name System:域名系统,Domain代表域,对应网络段,Name代表名,对应IP、主机名,DNS可以将域名映射变为IP地址

域名可以分为三级域,例如 www.baidu.com,其中com为顶级域,baidu为二级域,www为三级域

DHCP
Dynamic Host Configuration Protocol,动态主机设置协议
DHCP是一个应用UDP协议的局域网协议,提供即插即用联网(自动获取IP地址)

session、token和cookie概念

Session指会话,浏览器与服务器的一次会话,不同的用户对服务器发起的会话不是同一个会话。同一用户在会话结束后,重新发起的会话也不是同一个会话

Token是令牌,是服务器对用户的身份校验。用户将Token信息发送到服务器上,与服务器计算生成的结果吻合,代表用户是合法用户

Cookie是保存在用户主机上的浏览器信息,用户某次访问若保存了一些信息(一般以KV形式保存),下次再访问同一个网站时,浏览器就会将保存的Cookie一同发送过去

计算机网络分层简单理解相关推荐

  1. 计算机网络vtp,简单理解 VTP 协议与实战单臂路由

    前言:我是谁,我在哪,我干嘛要学计算机网络? 简介 VTP VTP 的三种模式 VTP:VLAN Trunking Protocol 一个思科私有的 VLAN TRUNK 协议,通过一个共有的管理域, ...

  2. 计算机网络(5)体系结构:计算机网络分层结构

    目录 1.计算机网络分层的的原因和概念 2.计算机网络分层的基本原则 3.实体 3.1.对等层和对等实体 3.2.协议数据单元(Protocol Data Unit,PDU) 1.计算机网络分层的的原 ...

  3. 【计算机网络】计算机网络疑难问题理解

    文章目录 计算机网络疑难问题理解 计算机体系结构 计算机网络是什么? 新型网络的基本特点 星型.环形.总线型网络中各自采用什么方法实现广播传播? IOS/OSI中层次结构及功能 线路时延与线路利用率之 ...

  4. 【计算机网络】计算机网络 OSI 参考模型 ( 计算机网络分层结构 | OSI 七层参考模型 | 应用层 | 表示层 | 会话层 | 传输层 | 网络层 | 数据链路层 | 物理层 )

    文章目录 一.计算机网络分层结构 二.OSI 七层参考模型 三.应用层 四.表示层 五.会话层 六.传输层 七.网络层 八.数据链路层 九.物理层 一.计算机网络分层结构 计算机网络分层结构 : ① ...

  5. 谈谈对java中分层的理解_让我们谈谈网页设计中的卡片设计

    谈谈对java中分层的理解 "I want a card", this is the first demand point that the customer said in th ...

  6. 计算机网络---计算机网络分层结构

    为了解决计算机网络复杂的问题,提出了计算机网络分层结构. 计算机网络分层结构主要有OSI 7层参考模型,TCP/IP 4层参考模型两种. 为什么要分层 不同产商生产的产品都可以通过统一标准实现通信. ...

  7. 计算机网络分层及原理

    网络分层 网络分层就是将网络节点所要完成的数据的发送或转发.打包或拆包,控制信息的加载或拆出等工作,分别由不同的硬件和软件模块去完成.这样可以将往来通信和网络互连这一复杂的问题变得较为简单. [编辑本 ...

  8. 简单理解TCP/IP传输层协议TCP和UDP

    TCP/IP模型中的传输层主要负责端到端通信,和数据链路层类似,数据链路层负责点到点的通信.TCP/IP模型的传输层主要协议有TCP (Transmission Control Protocol,传输 ...

  9. android 点击事件消费,Android View事件分发和消费源码简单理解

    Android View事件分发和消费源码简单理解 前言: 开发过程中觉得View事件这块是特别烧脑的,看了好久,才自认为看明白.中间上网查了下singwhatiwanna粉丝的读书笔记,有种茅塞顿开 ...

最新文章

  1. UBUNTU 下查看所有的C库函数和查询 LINUX 编成必备
  2. linux虚拟网络设备-- TUN/TAP MACVLAN MACVTAP(八)
  3. 四川省天然气行业发展战略及投资形势分析报告2021版
  4. 到底是32位系统运行快还是64位系统快
  5. 2019年Java初级和高级部分的技术面试
  6. android 没有 layout_above,在RelativeLayout布局中layout_above不起作用
  7. mysql 出现 quot_mysql 出现 quot;the table is fullquot;的问题 - tmuffamd - ITeye博客
  8. Jenkins学习总结(3)——Jenkins+Maven+Git搭建持续集成和自动化部署的
  9. 【MYSQL笔记】使用存储过程
  10. 爬虫之requests库的使用
  11. Linux ssh服务开启秘钥和密码认证
  12. linux和windows时间同步问题(UTClocaltime)
  13. Python爬虫学习记录(0)——Python 爬虫抓站 记录(虾米,百度,豆瓣,新浪微博)
  14. triton部署yolov5笔记(四)
  15. javaweb学习笔记(XML基础)
  16. Python 弹出对话输入框
  17. 修改win7电脑主题脚本
  18. wangyi3-数据挖掘研究员
  19. SAN存储的局限性相关介绍
  20. Invalid HTTP_HOST header: ‘testserver‘. You may need to add ‘testserver‘ to ALLOWED_HOSTS

热门文章

  1. 一加氢OS发布会 观看小结
  2. 简单三维图片产生工具
  3. export与export default详解
  4. Makefile中export的用法
  5. 帮G1刷新的hboot和radio
  6. SQLserver随机数函数
  7. pdf2htmlEX实现pdf转html 通过java执行命令生成页面
  8. SCI论文解读复现【NO.3】MSFT-YOLO:基于变压器的改进YOLOv5钢表面缺陷检测(代码已复现)
  9. grub ��ϵͳ������linux (ubuntu) ���°�װxp��linux���ܱ�����
  10. 斯德哥尔摩的照片五:大教堂