tcpip linux,TCPIP在linux下的具体实现-Read.doc

TCPIP在linux下的具体实现-Read.doc

TCP/IP在linux下的具体实现(初稿,未整理)

Liuxs28@163.com2005-2-25

目录 TOC \o "1-3" \h \z

HYPERLINK \l "_To TCP/IP在linux下的具体实现(初稿,未整理) PAGEREF _To\h 1

HYPERLINK \l "_To 目录 PAGEREF _To\h 1

HYPERLINK \l "_To 1 通用TCP/IP逻辑结构; PAGEREF _To\h 1

HYPERLINK \l "_To 2 .TCP/IP协议栈在linux下的层次 PAGEREF _To\h 2

HYPERLINK \l "_To 2.2跟实现tcp/ip有关的linux基础知识: PAGEREF _To\h 2

HYPERLINK \l "_To 2.3 各层之间的关系; PAGEREF _To\h 5

HYPERLINK \l "_To 3基本数据结构 PAGEREF _To\h 6

HYPERLINK \l "_To 3.1 msghdr结构 PAGEREF _To\h 6

HYPERLINK \l "_To 3.2.sk_buff_head{}结构 PAGEREF _To\h 6

HYPERLINK \l "_To 3 .3socket{}类型; PAGEREF _To\h 9

HYPERLINK \l "_To 3.4.INET Socket: sock{} PAGEREF _To\h 10

HYPERLINK \l "_To 3.5以上个结构的跳转及函数指针集合. PAGEREF _To\h 14

HYPERLINK \l "_To 3.6 struct net_device{ PAGEREF _To\h 14

HYPERLINK \l "_To 4实例:收发数据包流程图 PAGEREF _To\h 14

HYPERLINK \l "_To 4.2数据接收过程:以下以图表说明(大致原理类似接受过程): PAGEREF _To\h 16

1 通用TCP/IP逻辑结构;

与ISO提出的OSI定义网络层次(7层)不同,tcp/ip就定义了五层.

应用层传输层网络层数据链路层物理层

应用层

传输层

网络层

数据链路层

物理层

应用层

应用层

BSD Socket

Inet socket(tcp/udp)

IP 层

数据链路层

物理层

各层的主要功能及对应的硬件:

物理层:定义传输的电平及硬件接口标准..

数据链路层:对应的是网卡芯片内部程序,用于在ip包前加上相应的frame信息.

可想想成在网卡芯片里有一个进程在干这件事情.直接跟网卡驱动打交道.

网络层:用来路由,数据包分片,负责把一个包发到指定的网络号.;

传输层:把收到的包传给具体的进程(根据端口号)等,及数据包传输控制,重发,检测功能;

应用层:把有用的数据进行重新组装,定义要传输的端口等等;

2 .TCP/IP协议栈在linux下的层次

LINUX下tcp/ip协议栈是以4.4 BSD为模板,估计目前大多数操作系统以此为模板,稍加改动,支持BSD Socket 编程模型;

在服务器端:

调用socket()创建一个socket;

bind()

listen()

accept();

read/write()

在客户端

socket();

connect();

read/write();

2.2跟实现tcp/ip有关的linux基础知识:

在linux下,所有的设备都当作文件节点来管理,网络设备也不例外,即对一个进程中的socket进行读写就相当于对进程中的已打开的文件读写,具体的不同体现在读写函数的不同;

一下简单介绍一下看看进程,文件系统及socket之间的关系;

进程数据结构://只关心跟文件有关的那部分

struct task_struct {

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值