UNIX环境高级编程——网络基础概念

TCP协议分成两个不同的协议:
1、网络传输中差错的传输控制协议TCP
2、专门负责对不同网络进行互联的互联网协议IP

网络体系结构概念:
网络体系结构即是指网络的层次结构和每层所使用协议的集合

OSI:(Open System Interconnect Reference Model)
ISO:国际标准化组织(International Standardization Organization)
TCP/IP:(传输控制/网络通讯协定:Transmission Control Protocol / Internet Protocol)

UNIX环境高级编程——网络基础概念_第1张图片


TCP/IP协议族
常用协议:
UNIX环境高级编程——网络基础概念_第2张图片


TCP/IP通信模型(图解)
UNIX环境高级编程——网络基础概念_第3张图片

数据封装与转发(图解)
UNIX环境高级编程——网络基础概念_第4张图片

数据打包和数据解包(图解):

UNIX环境高级编程——网络基础概念_第5张图片
UNIX环境高级编程——网络基础概念_第6张图片

TCP/IP结构
UNIX环境高级编程——网络基础概念_第7张图片

TCP/IP协议下的数据包:
UNIX环境高级编程——网络基础概念_第8张图片


TCP和UDP
TCP:面向连接、可靠(数据无误,无丢失,无失序、无重复,高可靠的数据传输)
UDP:无连接、不可靠(发送数据前,无需连接,高效率的数据传输)

TCP传输

UNIX环境高级编程——网络基础概念_第9张图片

UDP传输

UNIX环境高级编程——网络基础概念_第10张图片



端口号(用unsigned short表示)
*TCP和UDP端口号相对独立。

端口号分配:
保留端口:1-255
unix占用:256-1023
注册的端口:1024-5000
其他端口:5001-65535

套接字和端口:
UNIX环境高级编程——网络基础概念_第11张图片


网络通信三元:IP,端口,协议

字节序:
小端:所谓的小端模式,是指数据的高位保存在内存的高地址中,而数据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。
大端:所谓的大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放

图解字节序:
UNIX环境高级编程——网络基础概念_第12张图片


网络字节序(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()位置:
UNIX环境高级编程——网络基础概念_第13张图片

流程图
UNIX环境高级编程——网络基础概念_第14张图片



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保留地址







转载于:https://www.cnblogs.com/hehehaha/p/6332630.html

你可能感兴趣的:(UNIX环境高级编程——网络基础概念)