【linux网络编程】相关知识

网络基础

协议

协议:一组规则.是数据传输和数据的解释的规则.

分层模型结构

OSI(Open System Interconnection->开放式系统互联)七层模型:理层,据链路层,络层,输层,话层,示层,用层.
TCP/IP四层模型:网络接口层(链路层),网络层,传输层,应用层.
应用层 常见的协议有:HTTP协议,FTP协议
传输层 常见的协议有:TCP/UDP协议
网络层 常见的协议有:IP 协议,ICMP协议,IGMP协议
链路层(网络接口层) 常见协议有:ARP协议,以太网帧协议

c/s模型

client-server(客户机/服务器模式) 需要在通讯两端各自部署客户机和服务器来完成数据通信

b/s模型

浏览器/服务器模式.只需一端部署服务器,而另一端使用每台pc都默认配置的浏览器即可以完成数据的传输.

c/s与b/s比较

c/s优点:缓存大量数据,协议选择灵活,速度快
缺点:安全性 跨平台 开发工作量较大

b/s优点:安全性 跨平台 开发工作量较小
缺点:不能缓存大量数据,严格遵守http

网络传输流程

数据没有封装之前,是不能在网络中传递.
数据->应用层->传输层->网络层->链路层

以太网帧协议

ARP协议:根据IP地址获取mac地址
以太网帧协议:根据mac协议,完成数据包传输.

IP协议

版本:IPv4,IPv6 --4位
TTL: time to live 设置数据包在路由节点中的跳转上限.每经过一个路由节点,该值-1,减为0的路由,有义务将该数据包丢弃
源IP:32位. --4字节 192.168.1.108 —点分十进制 IP地址 – 二进制
目的IP:32位 —4字节

IP地址 :可以在网络环境中,唯一标识一台主机
端口号:可以网络的一台主机上,唯一标识一个进程
ip地址+端口号:可以在网络环境中,唯一标识一个进程

UDP协议

16位:源端口号. 2^16=65536
16位:目的端口号

TCP协议

16位:源端口号.
16位:目的端口号
32位序号
32确认序号
6个标志位
16位窗口大小

网络套接字 socket

一个文件描述符指向一个套接字(该套接字内部由内核借助两个缓冲区实现)

  • 在通信过程中,套接字一定是成对出现的

关于网络字节序

> 不同的 CPU 有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序
> 最常见的有两种
1 . Little endian :将低序字节存储在起始地址
2 . Big endian :将高序字节存储在起始地址
a) Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
b) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
> 网络字节顺序是 TCP/IP 中规定好的一种数据表示格式,它与具体的 CPU 类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。网络字节顺序采用 big endian 排序方式

查看C/S通信状态

  • netstat -apn | grep clinet
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南方的守候

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值