UNIX网络编程第一章

第一章  简介与TCP/IP
1.1
1) 计算机网络通信的程序是基于通信协议的,协议的两端分别是Web客户端与Web服务端。
Web服务器端——长时间运行,只在响应请求时发送网络消息
Web客户端——由客户进程发起
2) Web客户与服务器之间使用TCP通信,TCP转而使用IP,IP再通过某种形式的数据链路层通信
数据流程分成向下通过协议栈发送数据和向上通过协议栈恢复数据两个过程。

1.2 简单读取时间客户端demo
流程:
创建套接字==》指定服务器的IP地址与端口==》建立连接==》读取服务器应答==》完成并关闭
要点:
1) 利用socket函数创建网际(AF_INET)字节流(SOCK_STREAM)套接字;
2) bzero:结构数据清零
3) htons:二进制端口号转换
4) inet_pton:命令行参数转换(这里是将IP地址转成合适的格式)
5) connect:建立连接,参数表(1. 套接字 2. 套接字地址 3. 地址结构的数据长度)
6) 在connect连接中,要将指向套接字地址结构的指针强制转换为通用套接字地址结构
7) 接收数据时,要注意数据包不一定完整。

名词
PDU:计算机网络中各层对等实体间交换的单位协议数据单元
应用层——应用数据
传输层——消息
网络层——IP数据报
SDU:服务数据单元
MSS:最大分节大小
MTU:最大传输单元

1.4 包裹函数
用途:检查函数调用错误

1.5 简单发送时间服务端demo
流程:
将服务器端口捆绑上套接字==》将套接字转换成监听套接字==》接受客户端连接,发送应答==》终止连接
1)bind() : 套接字端口绑定
2)listen():转换成监听套接字
3)accept():接受连接,tcp三次握手后返回一个描述符,用于该客户通信
4)close(): 终止连接

特殊分节:
SYN--建立连接, FIN--终止连接, RST--中止连接, ACK--确认数据接收, PSH--刷送待发数据, URG--携带紧急数据

1.7 OSI模型
国际标准化组织的计算机通信开放系统互连模型,七层
应用层
表示层
会话层       应用层
----------------------------------------------------------------------
传输层        TCP、UDP
网络层        IPv4/6
----------------------------------------------------------------------
数据链路层            设备驱动程序和硬件
物理层


原始套接字——网络应用绕过传输层,直接使用IPv4/6

1.9 网络拓扑
netstat -i —— 网络接口信息
netstat -r —— 路由表信息
ifconfig —— 接口详细信息
ping —— 尝试连接


全部评论

相关推荐

程序员花海_:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-19 14:56
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务