计算机网络体系架构认知--网络协议栈

文章目录

一.计算机网络分层架构

  • 实现计算机长距离网络通信需要解决很多问题(比如数据完整性,主机定位等等问题),工程人员将计网通信问题划分成了七个层次,每一个层次针对特定的通信问题制定了特定的通信协议,协议层之间耦合度低,协议层内部高聚合,形成了全球统一且便于维护和扩展的计算机网络硬软件架构
  • 每个层次的作用概述
分层名称 主要功能
5 应用层(内部实现表示层和会话层) 针对特定应用制定通信协议,建立通信管理和数据格式转换
4 传输层 确保数据传输的可靠性保证
3 网络层 主机地址管理和路由选择
2 链路层 设备之间传送和识别数据帧
1 物理层 光电信号传输

各协议层和计算机系统的联系

  • 传输层和网络层是在操作系统的内核中实现的

从整体上理解计算机网络通信

  • 有效数据在某台主机的进程中产生,自上而下通过各层协议进行协议包的封装(协议包中包含具体的协议信息,比如通信主机标识信息等等),然后经过物理介质到达另一台主机,随后自下而上通过各层协议进行协议包的解析(完成协议信息的传递和识别),最后将有效数据送达目标进程

计算机网络通信的本质

  • 计算机网络通信的本质:跨主机的进程间通信,过程中贯穿两个通信主机各层协议栈进行通信报文的封装和解包

二.Mac地址,IP地址和进程端口号

  • 网卡是计算机系统用于网络通信的基础硬件,每个网卡在出厂时都有一个Mac地址,Mac地址在数据链路层标识一台计算机
  • 网络层一般统一采用IP协议,IP协议中,每台计算机都有一个IP地址,IP地址可以在全球范围内唯一地标识一台计算机
  • 网络通信中,应用层使用端口号标识操作系统中的各个进程
  • IP地址和进程端口号组合起来可以在全球范围内唯一地标识一个进程,构成网络通信的定位基础

三.局域网通信与跨局域网通信

局域网通信

  • 狭义上的局域网: 多台计算机在数据链路层使用同种协议(比如以太网协议)并且在物理上直接相联系(比如接在同一条以太网线上)
  • 由于物理上的紧密联系,各主机在局域网中会存在数据碰撞问题从而导致通信效率降低

跨局域网通信

  • 处在不同局域网的计算机的数据链路层可能会采用不同的协议,进行网络通信过程中,需要借助路由器完成报文的转发和协议重组

  • 路由器在网络层进行工作,不同局域网之间的一种网络通信图示:

  • 网络层IP协议借助路由器屏蔽了底层网络的差异化,实现了全球主机的软件虚拟层,网络层的这一重要地位使得它被写进了操作系统的内核

全球互联的通信脉络

  • IP地址的字段中含有不同局域网的标识信息,指导路由器进行通信路径规划

四.网络编程概述

  • Linux中一切皆文件,进程以文件读写的方式和网卡进行数据交互
  • 进程进行网络通信之前,要通过操作系统传输层提供的系统调用接口选择指定的网络层协议和传输层协议,并且绑定ip地址和进程端口号建立网络数据通路
  • 入网进程的系统视角:
相关推荐
m0_7482382731 分钟前
WebClient HTTP 请求问题处理模板(泛型响应、忽略 SSL 证书等)
网络协议·http·ssl
三桥彭于晏1 小时前
B/S 跟C/S架构的区别
架构
轩辰~2 小时前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
starstarzz4 小时前
计算机网络实验四:Cisco交换机配置VLAN
网络·计算机网络·智能路由器·vlan·虚拟局域网
EasyDSS5 小时前
国标GB28181-2022平台EasyGBS:安防监控中P2P的穿透方法
网络协议·php·音视频·p2p
小蜗牛慢慢爬行5 小时前
如何在 Spring Boot 微服务中设置和管理多个数据库
java·数据库·spring boot·后端·微服务·架构·hibernate
网安墨雨5 小时前
常用网络协议
网络·网络协议
HSunR7 小时前
计算机网络
网络·计算机网络
小扳7 小时前
微服务篇-深入了解 MinIO 文件服务器(你还在使用阿里云 0SS 对象存储图片服务?教你使用 MinIO 文件服务器:实现从部署到具体使用)
java·服务器·分布式·微服务·云原生·架构
ZoeLandia8 小时前
WebSocket | 背景 概念 原理 使用 优缺点及适用场景
网络·websocket·网络协议