2.1 创建套接字

2.1.1 协议栈的内部结构

  1. 协议栈可看做两层结构,上层包括TCP、UDP,下层包括IP、ICMP、ARP。
  2. 浏览器、邮件等一般应用程序收发数据用TCP,DNS查询等收发较短的控制数据时用UDP。
  3. IP负责发送网络包,ICMP用于告知网络包传送过程中产生的错误以及各种控制信息,ARP用于根据IP地址查询相应的以太网MAC地址。

2.1.2 套接字的实体就是通信控制信息

  1. 协议栈内部有一块用于存放控制信息的内存空间,用于保存通信相关的过程信息,包括通信对象的IP地址、端口号、通信状态等(例如发送数据后是否收到接收响应),这块内存空间可以看做是套接字的实体。
  2. 协议栈根据套接字中记录的控制信息来工作。
  3. netstat命令用于显示套接字信息。

2.1.3 调用socket时的操作

  1. 创建套接字时,首先分配一个套接字所需的内存空间,然后向其中写入初始状态,然后把代表这个套接字的描述符告知应用程序。
  2. 应用程序每次只要告知协议栈描述符,协议栈就能通过描述符找到套接字,得到各种通信相关信息。有了描述符,就不需要应用程序每次向协议栈传递各种通信信息。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    保川阅读 5,986评论 1 13
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,352评论 11 349
  • 我不知道是否在你们身边也会生活着这样的一群人——讨厌滤镜党 与其说讨厌还不如说是嫉妒你会滤镜 你拍的照片好看 但在...
    Yemen阅读 785评论 0 0
  • 一期灯具,灯具进水,插头进水比较严重。 二期问题: 第一:件数对,箱内灯数出现缺少数量。 第二:灯具玻璃打胶太少,...
    浅浅君子阅读 308评论 0 0
  • 20号周一坐动车回家。我还是太心急了,总是认为认定了就一定要做到。每天晚上十点多十一点坐公交回家,转两趟车的时候,...
    范瑜曦阅读 322评论 2 1