Chinaunix首页 | 论坛 | 博客
  • 博客访问: 192017
  • 博文数量: 219
  • 博客积分: 1435
  • 博客等级: 中尉
  • 技术积分: 1388
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-17 09:27
文章分类

全部博文(219)

文章存档

2013年(2)

2012年(183)

2011年(34)

我的朋友

分类:

2012-05-03 09:04:20

原文地址:linux网络总结笔记(Yi) 作者:ldjunnbor

1.TCP/IP协议:
用来专门检测网络传输中差错的传输控制协议TCP
专门负责对不同网络进行互联的协议IP
2.网络采取分而治之的设计方法
3.网络体系结构:网络的层次结构和每层所使用的协议的集合
4.OSI模型:
7层:从上之下:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
  TCP/IP模型:
  4层:应用层、传输层、网络层、网络接口与物理层
TCP/UDP属于传输层;
网卡驱动物理接口、地址解析协议属网络接口与物理层ARP 
网络层:IP、ICMP(网间控制报文协议protocol)、IGMP(网组管理协议)
表示层会话层没有协议;
应用层:TFTP 、 HTTP、 DNS 、 Telnet、 WWW、 FTP
5.TCP和UDP
共同:同为传输层协议
不同:TCP 有连接,可靠;(3次握手)
UDP 无连接,不保证可靠;
6.广播和组播只能使用UDP协议;
7.Socket
  1)独立于具体协议的网络编程接口;
  2)是一种特殊的文件描述符;
  3)并不仅限于TCP/IP
   实现多个进程在不同机器上的互联通信。
   在OSI模型中主要位于会话层和传输层之间;
 类型:
TCP:流式套接字,SOCK_STREAM;
UDP:数据报套接字,SOCK_DGRAM;
原始套接字可以对较低层次的协议IP、ICMP直接访问。
8.IP地址的转换函数
目前Ipv4,32位无符号整数。
Inet_aton()
将字符串转换成32位网络字节序的二进制值
Inet_addr()
功能同上,返回转换后的地址;
Inet_ntoa()
与第一种相反;
9.TCP服务器端流程:
Socket ==> bind ==> listen ==> accept ==> send ==>close 
  TCP客户端流程:
Socket ==> connect==>send/recv==>close 
TCP 循环服务模型
Socket();
   Bind();
Listen();
While(1)
{
Accept();
While(1)
{Recv();process();send();}
Close();
}
并发服务模型,创建子进程来监听!

UDP流程:
服务器:Socket ==>bind ==> recvfrom ==>sendto 
循环服务模型,用完之后关闭;
客户端:虽然面向无连接,但同样可以调用connect(); send / write 向指定服务器写数据,但是要向其他服务器发送东西,就还得需要sendto();
因为一次connect只能连接一个服务器;

Man lsof
Sudo lsof打开的内容查询;inode socket!
Sudo lsof –c (执行的命令)server;(列出和server相关的所有信息)
Sudo lsof –p 进程编号;
-U 是所有unix阈的内容
  -u 是指定用户
  -p 指定进程id
  -g 组
  -s 指定TCP、UDP
  -a 满足多个条件下的
  -i ()和网络相关的文件  不用root权限不能看到内核当中的
Netstat –r  查看路由表  ip 网络编号 。0;。1网关;
Netstat 查看与网络相关的信息;
-i 查看网络设备信息(网卡); etho::: ////lo(测试用的回环地址)
Netstat命令:查看网络接口路由表;(udp没有连接)
Netstat –a 列出所有的;列出所有的;-t –u;

Tcpdump –i lo 捕获回环接口;用于检测网卡设备上的任何输入输出;
Sudo tcpdump arp / udp 捕获相关协议;

阅读(224) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~