Linux网络编程:基础知识

1. MAC地址和IP地址

Linux网络编程:基础知识_第1张图片

IPV4:32位;8bit × 4 = 32bit

IPV6:128位;4bit × 32 = 128bit,图中IPV6补全为:fe80:0000:0000:0000:6e3f:77c3:ceca:b5a7 

MAC:48位;  4bit × 12 = 48bit

(图中IPV6和MAC地址使用的16进制表示法,一个16进制数为4bit)


2. 网络号与主机号

IP & 子网掩码,全1的部分为网络号,全0的为主机号

如 10.1.1.2/24:

网络号:10.1.1.0;主机号:0.0.0.2;广播地址:10.1.1.255;该网段内最多容纳 2^8 - 2 台主机。


3. 端口

用于在网络中标识不同进程。因为进程号不固定,不适合在网络中用于通信。而端口号的固定使得不同主机间的进程通信能够将数据转发给对应的进程。

端口(port):2B 范围0 ~ 65535;自定义端口建议使用1024 ~ 65535.


4. 网络层次模型

(1)OSI 7层模型:各层功能和部分协议

应用层

可联网应用程序

FTP、SMTP、HTTP

表示层

数据格式转换;数据加密、解密

JPEG、ASCII

会话层

建立、释放连接;校验点

ADSP、ASP

传输层

可靠、不可靠传输;差错控制;流量控制

TCP、UDP

网络层

路由选择;差错控制;流量控制;拥塞控制

IP、IPX、OSPF、IGMP

数据链路层

数据报成帧;差错控制;流量控制

PPP、STP、SDLC、HDLC

物理层

定义接口特性;传输速率;传输模式

Rj45;802.3

(2)TCP/IP 4层模型和OSI 7层模型对应关系,以及部分协议

OSI

TCP/IP

TCP/IP协议

应用层

应用层

HTTP、FTP、DNS

表示层

会话层

传输层

传输层

TCP、UDP

网络层

网际层

IP、ICMP、IGMP

数据链路层

网络接口层

Ethernet、ATM、Frame Relay

物理层

不写了,很基础的计算机网络内容。

你可能感兴趣的:(Linux网络编程,Linux网络编程,Linux,网络编程,c语言)