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 捕获相关协议;
阅读(2592) | 评论(3) | 转发(4) |