linuxtcpip
A. 本人想自学网络编程,现在手里有两本书一本是TCPIP协议卷二,一本是UNIX网络编程,我应该先看哪本会好一些
我也想学这个编程的,但是我只有一点基础,我们可以互相交流不,或者我可以向你请教不?
B. 一般优化linux的内核,需要优化什么参数
首先要知道一点所有的TCP/IP的参数修改是临时的,因为它们都位于/PROC/SYS/NET目录下,如果想使参数长期保存,可以通过编辑/ETC/SYSCTL.CONF文件来实现,这里不做详细说明,只针对Linux的TCPIP内核参数优化列举相关参数:
1、为自动调优定义socket使用的内存
2、默认的TCP数据接收窗口大小(字节)
3、最大的TCP数据接收窗口
4、默认的TCP发送窗口大小
5、最大的TCP数据发送窗口
6、在每个网络接口接收数据包的速率比内核处理这些包速率快时,允许送到队列的数据包最大数目
7、定义了系统中每一个端口最大的监听队列长度
8、探测消息未获得相应时,重发该消息的间隔时间
9、在认定tcp连接失效之前,最多发送多少个keepalive探测消息等。
C. 为什么TCP/IP协议没有数据链路层和物理层
因为数据链路层包括了硬件接口和协议ARP,RARP,这两个协议主要是用来建立送到物理层上的信息和接收从物理层上传来的信息。而TCP/IP协议在实际工作过程中只需要通过数据链路层调用物理层即可完成自己的工作。
TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。TCP 提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。
(3)linuxtcpip扩展阅读
TCP/IP协议的特点
TCP/IP协议能够迅速发展起来并成为事实上的标准,是它恰好适应了世界范围内数据通信的需要。它有以下特点:
(1)协议标准是完全开放的,可以供用户免费使用,并且独立于特定的计算机硬件与操作系统。
(2)独立于网络硬件系统,可以运行在广域网,更适合于互联网。
(3)网络地址统一分配,网络中每一设备和终端都具有一个唯一地址。
(4)高层协议标准化,可以提供多种多样可靠网络服务。
TCP/IP协议在一定程度上参考了OSI的体系结构。OSI模型共有七层,从下到上分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。但是这显然是有些复杂的,所以在TCP/IP协议中,它们被简化为了四个层次。
D. linux程序包里的TCPIP协议栈哪里找
网络层,传输层,套接字的代码在/net目录下,数据链路层和驱动程序在/driver/net目录下。
E. 关于底层开发 工作 学习
如果想快速入门的话,
c++、qt、数据结构、计算机操作系统原理
socket网络编程、tcpip
.嵌入式汇编
可以先不看,了解些基本概念,学习中遇到问题再网络下就行了,当然将来是要慢慢补的
你会些学员成绩管理系统、计算器、电子词典、文件压缩器的开发后绝对可以直接学驱动开发了,之所以要先会应用是因为驱动就是写给应用程序的,你至少要知道应用怎么使用驱动,会写应用程序测试驱动,也就是说你最少只要会些系统调用就行了.
F. tcpip四层模型对应osi是怎么样的
TCP/IP四层模型和OSI七层模型对应表。把OSI七层网络模型和Linux TCP/IP四层概念模型对应,然后将各种网络协议归类。
物理层:OSI模型的最低层或第一层,该层包括物理连网媒介,如电缆连线连接器。物理层的协议产生并检测电压以便发送和接收携带数据的信号。
在桌面P C 上插入网络接口卡,就建立了计算机连网的基础。换言之,你提供了一个物理层。尽管物理层不提供纠错服务,但它能够设定数据传输速率并监测数据出错率。网络物理问题,如电线断开,将影响物理层。
网际互联层
网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输。注重重新赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多种网络中的路由。该层有三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。
IP协议是网际互联层最重要的协议,它提供的是一个可靠、无连接的数据报传递服务。
G. 怎么在linux下查看某个端口的TCPIP通讯的数据
可以用Wireshark或tcpmp命令抓包,Wireshark具有图形界面,tcpmp是命令行界面
tcpmp举例:
获取主机192.168.228.246接收或发出的ssh包,并把mac地址也一同显示:
# tcpmp -e src host 192.168.228.246 and port 22 and tcp -n -nn
H. 目前Linux系统是否默认安装TCPIP协议集
当然有,默认都已经编译到内核当中了。
I. 怎么学习 追踪linux tcpip代码
linux的话,推荐买本书,最好是教材,看着学,装个linux虚拟机,照着书一步步操作,多做多练就会了。而TCP/IP高级linux编程了,如果您没有基础的话建议先学习unix环境高级编程,然后在需TCPIP
J. TCP/IP协议的四层模型是什么
1.网络接口
网络接口把数据链路层和物理层放在一起,对应TCP/IP概念模型的网络接口。对应的网络协议主要是:Ethernet、FDDI和能传输IP数据包的任何协议。
2.网际层
网 络层对应Linux TCP/IP概念模型的网际层,网络层协议管理离散的计算机间的数据传输,如IP协议为用户和远程计算机提供了信息包的传输方法,确保信息包能正确地到达 目的机器。这一过程中,IP和其他网络层的协议共同用于数据传输,如果没有使用一些监视系统进程的工具,用户是看不到在系统里的IP的。网络嗅探器 Sniffers是能看到这些过程的一个装置(它可以是软件,也可以是硬件),它能读取通过网络发送的每一个包,即能读取发生在网络层协议的任何活动,因 此网络嗅探器Sniffers会对安全造成威胁。重要的网络层协议包括ARP(地址解析协议)、ICMP(Internet控制消息协议)和IP协议(网 际协议)等。
3.传输层
传输层对应Linux TCP/IP概念模型的传输层。传输层提供应用程序间的通信。其功能包括:格式化信息流;提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认信 息,如果分组丢失,必须重新发送。传输层包括TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议),它们是传输层中最主要的协议。TCP建立在IP之上,定义了网络上程序到程序的数据传输格式和规则,提供了IP数据 包的传输确认、丢失数据包的重新请求、将收到的数据包按照它们的发送次序重新装配的机制。TCP 协议是面向连接的协议,类似于打电话,在开始传输数据之前,必须先建立明确的连接。UDP也建立在IP之上,但它是一种无连接协议,两台计算机之间的传输 类似于传递邮件:消息从一台计算机发送到另一台计算机,两者之间没有明确的连接。UDP不保证数据的传输,也不提供重新排列次序或重新请求的功能,所以说 它是不可靠的。虽然UDP的不可靠性限制了它的应用场合,但它比TCP具有更好的传输效率。
4.应用层
应 用层、表示层和会话层对应Linux TCP/IP概念模型中的应用层。应用层位于协议栈的顶端,它的主要任务是应用。一般是可见的,如利用FTP(文件传输协议)传输一个文件,请求一个和目 标计算机的连接,在传输文件的过程中,用户和远程计算机交换的一部分是能看到的。常见的应用层协议有:HTTP,FTP,Telnet,SMTP和 Gopher等。应用层是Linux网络设定最关键的一层。Linux服务器的配置文档主要针对应用层中的协议。