随笔分类 -  TCP/IP协议族

摘要:1.getsockopt(sockfd, SOL_SOCKET, SO_SNDTIMEO, &tv_out, sizeof(struct timeval)); 问题:Bad address,报错,errno =14 ,EFAULT:optval指向的内存并非有效的进程空间 解决办法:getsocko 阅读全文 »
posted @ 2022-04-12 10:04 Smah 阅读(3312) 评论(0) 推荐(0) 编辑
摘要:服务端demo: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h> #include <netin 阅读全文 »
posted @ 2022-03-03 14:02 Smah 阅读(265) 评论(0) 推荐(0) 编辑
摘要:1.OPTIONS 客户端向服务器端发现OPTIONS,请求可用的方法。 服务器端回复客户端,消息中包含当前可用的方法。 2.DESCRIBE 客户端向服务器请求媒体描述文件,一般通过rtsp开头的url来发起请求,格式为sdp。 服务器回复客户端sdp文件,该文件告诉客户端服务器有哪些音视频流,有 阅读全文 »
posted @ 2022-03-01 17:49 Smah 阅读(443) 评论(0) 推荐(0) 编辑
摘要:Linux网桥工作原理与实现 Linux 的 网桥 是一种虚拟设备(使用软件实现),可以将 Linux 内部多个网络接口连接起来,如下图所示: 而将网络接口连接起来的结果就是,一个网络接口接收到网络数据包后,会复制到其他网络接口中,如下图所示: 如上图所示,当网络接口A接收到数据包后,网桥 会将数据 阅读全文 »
posted @ 2021-06-25 18:20 Smah 阅读(7029) 评论(0) 推荐(2) 编辑
摘要:TCP源码分析 - 三次握手之 connect 过程 本文主要分析 TCP 协议的实现,但由于 TCP 协议比较复杂,所以分几篇文章进行分析,这篇主要介绍 TCP 协议建立连接时的三次握手过程。 TCP 协议应该是 TCP/IP 协议栈中最为复杂的一个协议(没有之一),TCP 协议的复杂性来源于其面 阅读全文 »
posted @ 2021-06-25 18:18 Smah 阅读(1255) 评论(0) 推荐(0) 编辑
摘要:ARP协议与邻居子系统剖析 学习过 TCP/IP 协议的同学都应该了解过 TCP/IP 五层网络模型,如下图: 从上图可以看出,ARP协议 位于 TCP/IP 五层网络模型的 网络层。那么,ARP协议 的用途是什么呢? ARP协议介绍 在局域网中(同一个路由器内),主机与主机之间需要通过 MAC 地 阅读全文 »
posted @ 2021-06-25 18:17 Smah 阅读(1480) 评论(0) 推荐(1) 编辑
摘要:LVS原理与实现 - 实现篇 在上一篇文章中,我们主要介绍了 LVS 的原理,接下来我们将会介绍 LVS 的代码实现。 本文使用的内核版本是:2.4.23,而 LVS 的代码在路径:/src/net/ipv4/ipvs 中。 Netfilter 在介绍 LVS 的实现前,我们需要了解以下 Netfi 阅读全文 »
posted @ 2021-06-25 18:16 Smah 阅读(787) 评论(0) 推荐(0) 编辑
摘要:LVS原理与实现 - 原理篇 LVS,全称 Linux Virtual Server,是章文嵩博士发起的一个开源项目。在社区具有很大的热度,是一个基于四层、性能极高的反向代理服务器。至于什么是反向代理,这里就不作详细介绍了,如果不了解可以先去阅读反向代理相关的资料。 LVS工作原理 下面先介绍一下 阅读全文 »
posted @ 2021-06-25 18:15 Smah 阅读(439) 评论(0) 推荐(0) 编辑
摘要:UDP协议源码分析 UDP协议 是 User Datagram Protocol 的简称, 中文名是用户数据报协议,是 OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,位于 TCP/IP协议 模 阅读全文 »
posted @ 2021-06-25 16:59 Smah 阅读(1259) 评论(0) 推荐(0) 编辑
摘要:Unix Domain Sockets使用 上一章介绍了Socket接口层的实现,接下来我们将会介绍具体的协议层实现,这一章将会介绍用于进程间通信的 Unix Doamin Sockets 的实现。要使用 Unix Domain Sockets 需要在创建socket时为 family 参数传入 A 阅读全文 »
posted @ 2021-06-25 16:57 Smah 阅读(699) 评论(0) 推荐(0) 编辑
摘要:Socket接口的分层 Socket的英文原本意思是 孔 或 插座。但在计算机科学中通常被称作为 套接字,主要用于相同机器的不同进程间或者不同机器间的通信。Socket的使用很多网络编程的书籍都有介绍,所以本文不打算介绍Socket的使用,只讨论Socket的具体实现,所以如果对Socket不太了解 阅读全文 »
posted @ 2021-06-25 16:56 Smah 阅读(925) 评论(0) 推荐(0) 编辑
摘要:IP协议源码分析 IP协议 是网络的最重要部分,毫不夸张地说,正是因为有 IP协议 才有了互联网。而 IP协议 最重要的是 IP地址,IP地址 就好像我们的家庭住址一样,用于其他人方便找到我们的位置。 当然,这篇文章并不是介绍 IP协议 的原理,有关 IP协议 的原理可以参考经典的书籍《TCP/IP 阅读全文 »
posted @ 2021-06-25 16:51 Smah 阅读(1353) 评论(0) 推荐(0) 编辑
摘要:源码分析 int udp_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) { /*套接字的网络层表示转换成INET套接字的表示*/ struct inet_sock *inet = inet_sk(sk); /*套接字的网络层表示转换 阅读全文 »
posted @ 2021-06-25 10:47 Smah 阅读(1268) 评论(0) 推荐(0) 编辑
摘要:包的格式 源端口 发送方进程所使用的端口号(1-65535) RFC768中规定:是否指定源端口可选,未指定是为0 linux中规定:如果未指定端口号,自动赋予一个非0的端口号 目的端口 目标系统中负责接收UDP包的那个应用端口 长度 包括包头和有效负荷 最小的udp包头8字节 最大UDP有效负荷为 阅读全文 »
posted @ 2021-06-24 09:55 Smah 阅读(983) 评论(0) 推荐(0) 编辑
摘要:计算机为了在 TCP/IP 网络中正常工作,需要获取相应的 IP 地址。获取 IP 地址的过程被称为地址分配。计算机获取 IP 地址的方式有 3 种,即静态分配、动态分配和零配置。下面依次讲解这 3 种方式。 静态分配IP地址 静态分配也称为手工分配。网络管理员在计算机中直接设置所使用的IP地址。在 阅读全文 »
posted @ 2021-06-22 23:27 Smah 阅读(4766) 评论(0) 推荐(0) 编辑
摘要:计算机网络由哪些硬件设备组成? 网络是计算机或类似计算机的网络设备的集合,它们之间通过各种传输介质进行连接。无论设备之间如何连接,网络都是将来自于其中一台网络设备上的数据,通过传输介质传输到另外一台网络设备上。 本节将基于这个过程讲解网络的组成。 网卡 网卡也被称为网络适配器(Network Ada 阅读全文 »
posted @ 2021-06-22 19:29 Smah 阅读(2643) 评论(0) 推荐(0) 编辑
摘要:TCP状态转移图 一、TCP状态介绍: 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1) 阅读全文 »
posted @ 2020-09-07 23:28 Smah 阅读(956) 评论(0) 推荐(0) 编辑
摘要:网络层的概念 网络层是OSI参考模型中的第三层,介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。主要内容有:虚电路分组交换和数据报分组交换、 阅读全文 »
posted @ 2020-09-01 23:44 Smah 阅读(3234) 评论(0) 推荐(2) 编辑
摘要:下面这张图是目前最新版本wireshark的默认着色规则。 Bad TCP:tcp.analysis.flags && !tcp.analysis.window_update 即TCP解析出错,通常重传,乱序,丢包,重复响应都在此条规则的范围内。 HSRP State Change:hsrp.sta 阅读全文 »
posted @ 2020-08-31 15:09 Smah 阅读(3055) 评论(0) 推荐(1) 编辑
摘要:原文地址:TCPIP网络协议层对应的RFC文档作者:西木 RFC - Request For Comments 请求注解 TCP/IP层 网络协议 RFC文档 Physical Layer Data Link Layer ARP - Address Resolution Protocol RFC82 阅读全文 »
posted @ 2020-08-28 13:10 Smah 阅读(1080) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示