UNIX环境编程---------原始套接字学习笔记-----原始套接字的bind操作
来源:互联网 发布:网吧网络设计方案 编辑:程序博客网 时间:2024/04/29 03:57
原始套接字学习笔记------原始套接字的bind操作
摘自《LINUX网络编程 ---林宇 郭凌云,人民邮电出版社》
:
要点:
1. 核心负责接收数据包,然后核心对这些IP数据包进行分类传递给对应的协议实体
2. 在传递IP数据包时,核心将同时进行协议类型和地址的匹配,把IP数据包传递给地址匹配并且协议匹配的原始套接字
3. 其实,connect相当于bind,都能够起到把套接字与地址进行绑定。
4. 例如:如果原始套接字调用了connect函数,则核心将只传递源地址为connect连接IP地址的IP数据包给该原始套接字。
原始套接字的创建:
#include<netinet/in.h>
Intip_fd;
Ip_fd=socket(AF_INET,SCOK_RAW,IPPROTO_ICMP);
问题:
如何理解socket函数的第三个参数???
Socket函数的第三个参数用于指定套接字使用的协议。
可以指定:
IPPROTO_ICMP
IPPROTO_EGP
IPPROTO_
原始套接字调用了bind函数会发生什么事???
:
由于原始套接字在传输层之下,所以没有传输层端口的概念。在原始套接字调用了bind之后,则由这个原始套接字上发送IP数据包的源地址将被填写成绑定 IP地址。
如果原始套接字没有调用bind函数,则核心将把该套接字发送IP数据包的源地址填写成主机网络接口的主IP地址。
- UNIX环境编程---------原始套接字学习笔记-----原始套接字的bind操作
- UNIX环境编程--------原始套接字学习笔记-----Linux原始套接字实现分析
- UNIX环境编程-----原始套接字学习笔记----转载实例
- UNIX环境学习笔记------原始套接字-------如何使用man 手册查看原始套接字的相关资料?
- UNIX环境学习笔记------原始套接字-----IP头部定义
- UNIX环境编程-----原始套接字-----疑问:发送给原始套接字的数据是怎么处理的???
- 原始套接字编程
- 学习--原始套接字
- 原始套接字学习
- UNIX环境编程------原始套接字---原始套接字编程实例: 接收的链路层数据包,并对其进行简单分析
- Windows网络编程 の 原始套接字学习笔记ICMP
- 网络编程原始套接字
- 原始套接字编程示例
- 网络编程原始套接字
- 原始套接字编程接口
- 基于原始套接字编程
- 原始套接字编程(1)
- 原始套接字学习总结
- django笔记
- 【openjudge】雷涛的小猫
- 完美解决 sublime text 3 /2不能安装 package control 的问题 手动安装
- LintCode-剑指Offer-(82)落单的数
- mysql 存储过程的示例
- UNIX环境编程---------原始套接字学习笔记-----原始套接字的bind操作
- linux常用查看硬件设备信息命令
- 42.网络请求POST同步和异步
- Nordic nRF51822 的 OTA 实现步骤
- OpenJudge_P7219 复杂的整数划分问题(DP)
- Xcode菜单选项
- 封装与重用演变史
- 内存泄露和内存溢出
- [C++]常用字符串操作整理