Network Programming(一)
介绍
计算机网络是set of hosts,routers 和 intermediate devices(主机,路由器和中间设备)
主机运行通信连接到端到端applications
路由relay(转发)数据包(data packets)
Packets:一系列字节
包含用户数据+控制信息(如:目标主机)
一次通信(数据交换)遵循一个预定义的通信协议
TCP/IP Generalities(概述)
针对不同问题的几个协议:协议簇:TCP/IP
TCP/IP提供点到点连接并指定数据应该如何格式化、寻址、传输、路由和在目的地接收
可用于互联网和独立的专用网络
它被组织成层
IP地址:是分配给网络接口以标识自身的唯一地址。用于与他人通信,并找到中继数据包的路由。长度:4bytes。类型:unicast单播,broadcast广播,multicast多播
TCP和UDP
TCP:Transmission Control Protocol传输控制协议
- 可靠的字节流通道(有序,全部到达,无重复),类似于文件输入/输出
- 流量控制
- 面向连接的
- 双指向性
TCP用于具有大数据容量和持久连接的服务。
UDP:User Datagram Protocol用户数据报协议
- no acknowledgements没有确认
- no retransmissions没有重传
- out of order乱序执行
- 无连接,即app指示每个数据包的目的地
UDP更常用于快速查找和一次性查询回复操作。
端口号Ports numbers
TCP和UDP都使用端口号
用作通信的特定于应用的构造。
端点16位无符号整数,范围从0到65535。
提供端到端传输。端口分为三类
所有已知端口( 0到1023 )用于基本服务(系统使用,需要超级用户权限)。
参考端口( 1024至49151 )由IANA根据请求实体的申请为特定服务关联(在大多数系统中,注册端口可由普通用户使用)
动态或私有或短暂端口( 49152至65535 )用于其他目的。TCP和UDP的一些常见示例以及它们的默认端口:
DNS查阅 UDP 53
FTP TCP 21
HTTP TCP 80
POP3 TCP 110
Telnet TCP 23保留端口的详细信息:
列在/ etc / services文件中的大多数系统上
能通过 http://www.iana.org/assignments/port-numbers 找到