Linux网络编程(二)

本文详细介绍了网络编程中的关键概念,包括socket嵌套字的分类(流式、数据报和原始),IP地址的分类、结构以及端口号的作用和管理。强调了IP地址和端口号在网络通信中的重要性。
摘要由CSDN通过智能技术生成


网络编程相关预备知识

一、socket嵌套字

Socket是一个编程接口
是一种特殊的文件描述符(everythingin Unixis afile)
并不仅限于TCP/IP协议
面向连接(Transmission Control Protocol-TCP/IP)
无连接(User Datagram Protocol -UDP 和 Inter-network Packet Exchange-IPX)
其实本质是应用层和传输层的接口。

二、socket嵌套字的分类

流式套接字(SOCKSTREAM):唯一对应着TCP
提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制。

数据报套接字(S0CKDGRAN):唯一对应着UDP
提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能乱序接收。

原始套接字(SOCK RAW) :对应着多个协议,发送穿透了传输层
可以对较低层次协议如IP、ICMP直接访问。

三、IP地址

IP地址的分类

IP地址分为IPv4和IPv6。
IPV4:32位整数。
IPV6:128位整数。(IPV4不够用了)
mobileIPV6:1ocal IP(本地注册的IP),roamIP(漫游IP)

IP地址的结构

点分形式: 192.168.7.246

特殊IP地址:
局域网IP:192.XXX.XXX.XXX 10…XX.XXX
广播IP:xxx.xxx.xxx.255,255.255.255.255(全网广播)
组播IP:224.XXX.XXX.XXX~239.xxx.xxx.xxx

四、端口号

为了区分一台主机接收到的数据包应该转交给哪个任务来进行处理,使用端口号来区别

TCP端口号与UDP端口号独立:在内核中ip数据包上来拆包以后tcp和udp走的流程是不同的。

端口号一般由IANA(Internet Assigned Numbers Authority)管理:
16位的数字(1-65535)
1.众所周知端口:1-1023(1-255之间为众所周知端口,256-1023端口通常由UNIX系统占用)
2.注册端口:1024~49150
3.动态或私有端口:49151~65535

特殊端口:(FTP:21,SSH:22,HTTP:80,HTTPS:469)
保留端口: 1024-5000(不建议使用)
可以使用的:5000~65535

总结

在网络通信中最重要的决定信息的流向的就是:IP地址+端口号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值