当前位置: 首页 > news >正文

网络编程知识预备阶段

1. OSI七层模型

OSI(Open System Interconnect)七层模型是一种将计算机网络通信协议划分为七个不同层次的标准化框架。每一层都负责不同的功能,从物理连接到应用程序的处理。这种模型有助于不同的系统之间进行通信时,更好地理解和管理网络通信的过程。
OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。

 特点:

1.每一层实现不同的功能,对上层的数据做透明传输。

2.每一层向上层提供服务,同时使用下层提供的服务。

2. 各层典型的协议:

2.1. 网络接口与物理层

MAC地址:48位全球唯一,网络设备的身份标识。

ARP/RARP:

        ARP: IP地址 ----> MAC地址

        RARP: MAC地址 -----> IP地址

PPP协议:拨号协议(GPRS/3G/4G)

2.2 网络层:

        IP地址

        IP:Internet protocel(分为IPV4和IPV6)。

        ICMP:Internet控制管理协议,ping命令属于ICMP。

        IGMP:Internet分组管理协议,广播和组播。

 2.3 传输层:

TCP:(TransferControl protocol,传输控制协议)提供面向连接的,一对一的可靠数据传输的协议
        即数据无误、数据无丢失、数据无失序、数据无重复到达的通信
UDP:(userDatagramProtocol,用户数据报协议):提供不可靠,无连接的尽力传输协议
        是不可靠的无连接的协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。
SCTP:是可靠传输,是TCP的增强版,它能实现多主机、多链路的通信

2.4 应用层:

网页访问协议:HTTP/HTTPS
邮件发送接收协议:POP3(收)/SMTP(发)、IMAP(可接收邮件的一部分)
FTP
Telnet/SSH:远程登录
嵌入式相关:
NTP:网络时钟协议
SNMP:简单网络管理协议(实现对网络设备集中式管理)
RTP/RTSP:用传输音视频的协议(安防监控)

TCP/IP协议通信模型:

 

3.socket

socket是一个应用编程的接口,它是一种特殊的文件描述符(对它执行I0的操作函数,比如,read(),write(),close()等操作函数)

 socket代表着网络编程的一种资源
socket的类型:
流式套接字(SOCK_STREAM):唯一对应着TCP
        提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制。
数据报套接字(SOCK_DGRAM):唯一对应着UDP
        提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能乱序接收。
        原始套接字(SOCK_RAW):(对应着多个协议,发送穿透了传输层)
可以对较低层次协议如IP、ICMP直接访问。

4. IP地址

IP地址分为IPV4和IPV6
IPV4:采用32位的整数来表示
IPV6:采用了128位整数来表示
mobileIPV6:localIP(本地注册的IP),roamIP(漫游IP)

PV4地址:
        点分形式:192.168.7.246      32位整数
        特殊IP地址:


        局域网IP:192.XXX.XXX.XXX 10.XXX.XXX.XXX
        广播IP:xXXx.xXx.xxx.255,255.255.255.255(全网广播)
        组播IP:224.XXX.XXX.XXX~239.xxX.xXX.Xxx

5. 端口号:

为了区分一台主机接收到的数据包应该转交给哪个任务来进行处理,使用端
口号来区别
TCP端口号与UDP端口号独立
端口号一般由IANA(InternetAssigned NumbersAuthority)管理:
16位的数字(1-65535)
众所周知端口:1~1023(FTP:21,SSH:22,HTTP:80,HTTPS:469)
保留端口:1024-5000(不建议使用)
可以使用的:5000~65535
TCP端口和UDP端口是相互独立的

网络里面的通信是由IP地址+端口号来决定

6.字节序

字节序是指不同的CPU访问内存中的多字节数据时候,存在大小端问题
如CPU访问的是字符串,则不存在大小端问题

相关文章:

  • 东隆科技携手PRIMES成立中国校准实验室,开启激光诊断高精度新时代
  • 【免费】2004-2017年各地级市实际利用外资数据
  • Grokking System Design 系统设计面试问题
  • 从零开始实现一个HTML5飞机大战游戏
  • java 中散列表(Hash Table)和散列集(Hash Set)是基于哈希算法实现的两种不同的数据结构
  • 【渗透测试】webpack对于渗透测试的意义
  • Linux 如何上传本地文件以及下载文件到本地命令总结
  • WSL2配置Humanoidbench问题mujoco.FatalError: OpenGL version 1.5 or higher required
  • Bash中关于制表符\t站位情况说明
  • 滑动窗口算法详解:从入门到精通
  • 44运营干货:提高用户留存和粘性方式汇总
  • 传输层协议 ——— TCP协议
  • SVG利用+xssgame第8关注入详解
  • 裂缝识别系统 Matlab GUI设计
  • C# Unity 唐老狮 No.10 模拟面试题
  • 路由器与防火墙配置命令
  • QT5.15.2加载pdf为QGraphicsScene的背景
  • Matlab 汽车传动系统的振动特性分析
  • Elasticsearch 滚动索引(Rollover Index)详解
  • 算法基础篇(蓝桥杯常考点)
  • 国产基因测序仪龙头华大智造业绩持续承压,今年有望迎来拐点?
  • 伯克希尔董事会投票决定:阿贝尔明年1月1日起出任CEO,巴菲特继续担任董事长
  • 观察|“离境退税”撬动上海“五一”假期入境消费
  • 100%关税!特朗普要让美国电影100%美国制造
  • 特朗普宣布对进口电影征收100%关税
  • 五一假期,新任杭州市委书记刘非到嘉兴南湖瞻仰红船