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 找到