套接字类型,地址族,数据序列

 Socket:

1.套接字中使用的协议族

2.套接字数据传输类型信息

3.计算机间通信中所使用的协议信息

 套接字类型,地址族,数据序列_第1张图片

PF_INET协议族中, 符合SOCK_STREAM的只有一个: tcp  所以第三个参数为0
UDP同理

TCP套接字:  可靠的,按序传递的,基于字节的面向连接的数据传输方式的套接字

:tcp套接字数据不存在边界

UDP套接字: 不可靠的,不按序传递的, 以数据的高速传输为目的的套接字

:udp套接字数据存在边界

 地址族:

ipv4地址族

套接字类型,地址族,数据序列_第2张图片

网络地址分类与主机地址边界

套接字类型,地址族,数据序列_第3张图片

 端口号

端口号就是在同一操作系统内为区分不同套接字而设置的,因此无法将1个端口号分配给不同套接字。另外,端口号由16位构成,可分配的端口号范围是0-65535。但0-1023是知名端口( Well-known PORT),一般分配给特定应用程序,所以应当分配此范围之外的值。另外,虽然端口号不能重复,但TCP套接字和UDP套接字不会共用端口号,所以允许重复。例如:如果某TCP套接字使用9190号端口,则其他TCP套接字就无法使用该端口号,但UDP套接字可以使用。

 网络字节序与地址变换

CPU向内存保存数据的方式有2种,这意味着CPU解析数据的方式也分为2种。
口 大端序(Big Endian):高位字节存放到低位地址。
口小端序(Little Endian):高位字节存放到高位地址。
仅凭描述很难解释清楚,下面通过示例进行说明。假设在0x20号开始的地址中保存4字节int类型数0x12345678。大端序CPU保存方式如图3-4所示。

 套接字类型,地址族,数据序列_第4张图片

套接字类型,地址族,数据序列_第5张图片

 

你可能感兴趣的:(TCP/IP,网络,服务器,linux)