UNIX环境高级编程——网络基础概念
TCP协议分成两个不同的协议:
OSI:(Open System Interconnect Reference Model)
1、网络传输中差错的传输控制协议TCP
2、专门负责对不同网络进行互联的互联网协议IP
网络体系结构概念:
网络体系结构即是指网络的层次结构和每层所使用协议的集合
OSI:(Open System Interconnect Reference Model)
ISO:国际标准化组织(International Standardization Organization)
TCP/IP结构
TCP/IP协议下的数据包:
TCP传输
UDP传输
端口号分配:
网络通信三元:IP,端口,协议
图解字节序:
网络字节序(NBO-Network Byte Order)
流程图
A
C
D
TCP/IP:(传输控制/网络通讯协定:Transmission Control Protocol / Internet Protocol)
TCP/IP协议族
TCP/IP通信模型(图解)
数据封装与转发(图解)
数据打包和数据解包(图解):
TCP/IP协议族
常用协议:
TCP/IP通信模型(图解)
数据封装与转发(图解)
数据打包和数据解包(图解):
TCP/IP结构
TCP/IP协议下的数据包:
TCP和UDP
TCP:面向连接、可靠(数据无误,无丢失,无失序、无重复,高可靠的数据传输)
UDP:无连接、不可靠(发送数据前,无需连接,高效率的数据传输)
TCP传输
UDP传输
端口号(用unsigned short表示)
*TCP和UDP端口号相对独立。
端口号分配:
保留端口:1-255
unix占用:256-1023
注册的端口:1024-5000
其他端口:5001-65535
套接字和端口:
套接字和端口:
网络通信三元:IP,端口,协议
字节序:
小端:所谓的小端模式,是指数据的高位保存在内存的高地址中,而数据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。
大端:所谓的大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放
图解字节序:
网络字节序(NBO-Network Byte Order)
网络上通用 Big Endian(大端),低字节先传输。
主机字节序(HBO-Host Byte Order)
................................................................................
Socket()简介:
1、是一个编程接口。
2、特殊的文件描述符(everything in Unix is a file)。
3、不局限于TCP/IP协议。
4、支持面向连接和无连接
分类:
1、流失套接字(SOCK_STREAM):提供可靠的、面向连接的通讯流,使用TCP协议。
2、数据报套接字(SOCK_DGRAM):无连接的服务,数据通过相互独立的报文传输,是无序的,使用UDP协议。
3、原始套接字(SOCK_RAW):允许使用IP协议、ICMP协议,用于新的网络协议测试。(*网络层)。
Socket()位置:
流程图
IP地址分类
A
- 第一字节为网络地址,余下三位为主机地址。
- 第一字节最高位为0。
- 范围:1.0.0.1 - 126.255.255.255。
- 10.0.0.0 - 10.255.255.255私有地址,用于局域网。
- 127.0.0.1 - 127.255.255.255是保留地址,用于循环测试
- 0.0.0.0 - 0.255.255.255 保留地址,用于表示所有的IP地址
B
- 第一、二字节为网络地址,其他两字节为主机地址。
- 第一字节前两位为10。
- 范围:128.0.0.1 - 191.255.255.255
C
- 前三个字节是网络地址,最后一个地址是主机地址。
- 第一个字节的前三位为110
- 范围:192.0.0.1 - 223.255.255.255
D
- 组播地址不区分网络地址和主机地址
- 第一字节前4位为1110
- 范围:224.0.0.1 - 239.255.255.255
- 224.0.0.0 - 224.0.0.25保留地址