zoukankan      html  css  js  c++  java
  • 20191221第十三章学习笔记

    TCP/IP 协议
    TCP/IP (Comer 1988, 2001; RFC1180 1991 )是互联网的基础。TCP代表传输控制协议。 IP代表互联网协议。目前有两个版本的IP,即IPv4和IPv6o IPv4使用32位地址,IPv6则 使用128位地址。本节围绕IPv4进行讨论,它仍然是目前使用最多的IP版本。TCP/IP的 组织结构分为几个层级,通常称为TCP/IP堆栈,图13.1所示为TCP/IP的各个层级以及每 一层级的代表性组件及其功能
    主机是支持TCP/IP协议的计算机或设备。
    IP地址分为两部分,即NetworkID字段和HostID字段。
    IP协议用于在IP主机之间发送/接收数据包,IP协议尽最大努力交付数据包。
    IP数据包由IP头、发送方IP地址和接收方IP地址以及数据组成。每个IP数据包的大小最大为64KB
    路由器是接收和转发数据包的特殊IP主机。如果有的话, 一个IP数据包可能会经过许多路由器,或者跳跃到达某个目的地。
    UDP
    UDP是用户数据报协议。
    UDP在IP上运行,用于发送/接收数据报。与IP类似,UDP不能保证可靠性,但是快速高效。它可用于可靠性不重要的情况。
    ping使用的是UDP协议。
    TCP
    TCP(传输控制协议)是一种面向连接的协议,用于发送/接收数据流。TCP也可在IP上运行,但它保证了可靠的数据传输。通常,UDP类似于发送邮件的USPS,而TCP类似于电话连接。
    网络编程
    服务器-客户机计算模型:大多数网络编程任务都基于服务器-客户机计算模型。
    套接字:

    struct sockaddr_in ( sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr;
    );
    struct in_addr {
    uint32_t s_addr;
    在套接字地址结构中,

    TCP/IP 网络的 sin_family 始终设置为 AF_INET。
    sm_port包含按网络字节顺序排列的端口号。
    sin_addr是按网络字节顺序排列的主机IP地址。
    Lint套接字(int域,int类型,int协议)

    int udp_sock = socket(AF_INET, SOCK_DGRAM, 0);
    将会创建一个用于发送/接收UDP数据报的套接字。
    int tcp_sock = socket(AF_INET, SOCK_STREAM, 0);
    将会创建一个用于发送/接收数据流的面向连接的TCP套接字。

  • 相关阅读:
    SPOJ distinct subtrings
    OI题目类型总结整理
    emacs 考场配置
    SDOI2013 费用流
    HAOI2011 problem a
    BZOJ3438 小M的作物(和拓展)
    APIO2014 连珠线
    NOI2009 管道取珠
    HNOI2013 切糕
    NOI2009 植物大战僵尸
  • 原文地址:https://www.cnblogs.com/ginjzlbg/p/15617029.html
Copyright © 2011-2022 走看看