彻底搞懂网络基础原理

370次阅读  |  发布于3年以前

背景

对于从事网络安全,从事编码开发的工作者,他们必须必备的技能就是需要熟练掌握计算机网络基础知识。下面就从网络协议方面:TCP协议、UDP协议、HTTP协议、socket通讯方面进行做梳理总结。

网络体系基础

计算机网络体系结构:它是指计算机网络层次结构模型,它是各层的协议以及层次之间的端口的集合。

计算机的网络体系结构主要分为3种:OSI体系结构、TCP / IP体系结构、五层体系结构。

OSI体系结构的优点:概念清楚 、理念完整;缺点:非常复杂 并且不实用。

TCP / IP体系结构:含了一系列构成互联网基础的网络协议,是Internet的核心协议并且被广泛应用于局域网 和 广域网。

五层体系结构:它融合了OSI 与 TCP / IP的体系结构,目的是为了学习 和讲解计算机原理。

低三层为通信子网,负责数据传输;

高三层为资源子网,相当于计算机系统,

完成数据处理;传输层承上启下。

TCP / IP的体系结构详细介绍由于 TCP / IP体系结构较为广泛,下面通过用图解方式进行分析。

OSI的体系结构

TCP协议

TCP的全称:Transmission Control Protocol,即传输控制协议。

它属于传输层通信协议,基于TCP的应用层协议有HTTP、SMTP、FTP、Telnet 和 POP3。

它的特点:面向连接、面向字节流、全双工通信、可靠。

TCP工作流程

UDP协议

UDP全称:User Datagram Protocol, 就是用户数据报协议。

它属于传输层通信协议,基于UDP的应用层协议有 TFTP、SNMP 与 DNS。

它的特点是:无连接的、不可靠的、面向报文、无拥塞控制。

TCP、UDP区别

HTTP协议

HTTP协议采用 请求 / 响应 的工作方式。

它的主要工作流程如下图所示

Socket

socket就是套接字,是应用层 与 TCP/IP 协议族通信的中间软件抽象层,表现为一个封装了 TCP / IP协议族 的编程接口(API)。

Socket不是一种协议,而是一个编程调用接口(API),属于传输层(主要解决数据如何在网络中传输)通过Socket,我们才能通过 TCP/IP协议进行开发

对用户来说,只需调用Socket去组织数据,以符合指定的协议,即可通信。

一个 Socket 实例 唯一代表一个主机上的一个应用程序的通信链路。

Socket使用类型主要有两种:

流套接字(streamsocket) :基于 TCP协议,采用 流的方式 提供可靠的字节流服务。

数据报套接字(datagramsocket):基于 UDP协议,采用 数据报文 提供数据打包发送的服务。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8