Linux内核--网络协议栈(一)Socket通信原理和实例讲解

目录

一、引言
二、Socket
------>2.1、socket编程
------>2.2、Socket的创建
三、收发数据
四、断开连接
五、删除套接字
六、网络 IO

一、引言

本章开始进入linux内核中网络部分的学习,先简单介绍一下socket套接字

二、Socket

一个数据包经由应用程序产生,进入到协议栈中进行各种报文头的包装,然后操作系统调用网卡驱动程序指挥硬件,把数据发送到对端主机。整个过程的大体的图示如下。
在这里插入图片描述
我们大家知道,协议栈其实是位于操作系统中的一些协议的堆叠,这些协议包括 TCP、UDP、ARP、ICMP、IP等。

通常某个协议的设计都是为了解决某些问题,比如 TCP 的设计就负责安全可靠的传输数据,UDP 设计就是报文小,传输效率高,ARP 的设计是能够通过 IP 地址查询物理(Mac)地址,ICMP 的设计目的是返回错误报文给主机,IP 设计的目的是为了实现大规模主机的互联互通。

应用程序比如浏览器、电子邮件、文件传输服务器等产生的数据,

最近更新

  1. TCP协议是安全的吗?

    2024-01-09 05:44:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-09 05:44:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-09 05:44:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-09 05:44:04       20 阅读

热门阅读

  1. LLM_InterLM-Demo学习

    2024-01-09 05:44:04       47 阅读
  2. Golang学习之路一六运算符

    2024-01-09 05:44:04       37 阅读
  3. golang利用alpn机制实现优先以http2协议访问服务端

    2024-01-09 05:44:04       37 阅读
  4. 前端面试--moka

    2024-01-09 05:44:04       47 阅读
  5. spring之AOP源码分析上

    2024-01-09 05:44:04       43 阅读
  6. 谈谈Mongodb insertMany的一些坑

    2024-01-09 05:44:04       34 阅读