美文网首页
网络-套接字究竟是什么?

网络-套接字究竟是什么?

作者: 南土酱 | 来源:发表于2021-08-28 21:27 被阅读0次

本系列文章都是从 黑皮书-计算机网络自顶向下方法-阅读查找的

我们Java开发,python,go开发等等,网络编程都会用到一个名词术语,叫做套接字
套接字究竟是什么? 这本书把它归结到了 应用层-网络模型 里边。
在说套接字之前,先说说应用程序之间的通信。

进程通信:

网络五层模型-物理层-链路层-网络层-运输层-应用层
应用程序之间的通信,其实是进程进行的通信。一款软件多个进程,之间使用通信机制互相通信。但是本篇我们说的是 不同系统,不同主机之间的通信

1.客户和服务器进程

熟悉的有浏览器进程与一台web服务器进程交换报文。(一对通信进程)
或者一个p2p文件共享系统中,文件从一方的进程传输到另一个进程。(一对通信进程)

2.进程与计算机网络之间的接口

多数应用程序是由通信进程对组成的,每对中的两个进程互相发送报文。但是我们知道五层协议了,一个报文要怎么发送呢?
这个报文会从应用层出发,经过运输层-网络层-,层层封装,最后发送到对方进程里。那么应用层要怎么接受和发送这个报文? 通过套接字就对了
套接字是建立网络应用程序的可编程接口,套接字称为 应用程序和网络之间的应用程序编程接口(application Programming Interface ,API) ,开发人员开发应用程序时,程序与网络通信的功能模块通过这个 编程接口去实现。(例如websocket通信,websocket底层是http协议,http是应用层协议,报文如何从应用层到运输层呢?就是套接字这个接口)
套接字是同一台主机内应用层与运输层之间的接口。如图所示


1.jpg

其实网络协议-应用层和运输层都不是我们开发人员关注的,开发人员只关注代码本身。开发人员只是利用套接字控制应用层网络的开发(写ajax代码发送 http请求数据。http是封装于tcp之上的),和一点运输层的权限::(①选择运输层协议②可能可以设定某个参数,如最大缓存和最大报文段长度)

其实那么多废话:无非就是 应用层与运输层之间传输报文由套接字处理。开发人员希望程序在应用层能与网络通信,就使用套接字提供的接口去编写代码。开发者可以控制套接字在应用层端的一切。但是运输层基本不可能。
这也是为什么有url发送http 请求,而不是自己发送一个tcp请求

\color{#228B22}{网络学习小总结,不对之处,欢迎大神们喷我。可以的话顺手点个赞吧~~!}
\color{red}{警: 禁止抄袭,转载说明出处 🤨}

相关文章

  • 网络-套接字究竟是什么?

    本系列文章都是从 黑皮书-计算机网络自顶向下方法-阅读查找的 我们Java开发,python,go开发等等,网络编...

  • 什么是socket

    socket是什么?套接字是什么? < socket套接字有哪些类型 > 网络编程就是编写程序使两台联网的计算机相...

  • Python核心编程习题之二——网络编程

    1. 面向连接的套接字和无连接的套接字之间的区别是什么? 套接字是计算机网络数据结构,套接字最初是为同一主机上的应...

  • iOS之Socket编程最全总结

    Socket简介: 所谓socket,通常称为“套接字”,网络应用程序通过套接字向网络发送请求或者应答网络请求...

  • 用socket和多进程配合多线程实现简单的tcp的聊天服务器

    python中的socket套接字用于实现网络通信tcp套接字的使用流程如下: 创建套接字对象 --- cli...

  • linux手册翻译——socket(7)

    socket - Linux 套接字接口 本手册页描述了 Linux 网络套接字层用户接口。 套接字是用户进程和内...

  • TCP/IP协议族、Socket、HTTP的知识整理

    Socket(套接字,业余计算机从业人员表示,这是什么垃圾翻译?!套接字是个什么鬼?套接就套接,什么叫套接字?)是...

  • 2018-10-24day19-总结

    网络通讯 一、socket服务器 socket又叫套接字,实现网络通讯的两端就是套接字。分为服务器对应的套接字和客...

  • 第19天总结网络通信

    socket又叫套接字,实现网络通信的两端就是套接字。分为服务器对应的套接字和客户端对应的套接字 python通过...

  • Day19-网络通信

    一、socket socket又叫套接字,实现网络通信的两端就是套接字。分为服务器对应的套接字和客户端对应的套接字...

网友评论

      本文标题:网络-套接字究竟是什么?

      本文链接:https://www.haomeiwen.com/subject/obqiiltx.html