• TCP/IP 插口层


      插口层与协议的具体实现相关。

    引言:重点是插口层和相关的系统调用的实现是最关键的问题。

    splnet处理,重点要理解插口层和系统调用的实现。

    Socket结构

    一直被广泛使用的socket结构和插口层的使用有很大的关系。插口代表一条通信链路的一端,抽象的说就像绳子的一头,绳子代表存储和指向链路有关的信息。

    理解成网线的插口比较好。。。今天华为被怼了,很不爽。特朗普有病。。包括贸易战的大节奏。

    getsocketopt和setsocketopt 的系统调用能修改大部分的插口选项。。。。

    struct socket定义 不必要记 关注它定义了哪些结构。

    SS_NBIO :内核不阻塞进程。

    SS_ASYNC:内核发送SIGIO信号给so_pgid标识。

    主要看函数的调用和进程之间的关系。很无聊。只是一个载体。

    系统调用

    每一个系统调用均被编号,当进程执行一个系统调用时,硬件被配置或传输控制给一个内核函数。

    内核函数syscall,是为了找sysent结构。

    ssocket可以作为系统调用的例子。只要看三点就可以。

    1建立服务器客户端和客户,终止类系统调用。2输入输出类系统调用。3管理类系统调用。

    网络系统调用流程要仔细看。socket主要是开或关,读写,监听,连接。

    进程,描述符和插口

    这三个名称是为了给系统调用做基础的。三个名词,只有描述符比较陌生。比较无聊。。。

    socket系统调用

    socket系统调用生产一个新的插口,并将制定的协议连接起来。

    socket的系统调用是一个简单的例子,关系到很多函数。没什么作用,无聊。

    socket只是一个例子,插口层的存在在哪里是更重要的事情。

    bind系统调用

    bind系统调用将本地的网络运输层地址和插口层联系起来。进程需要绑定要地址,因此进程在接受TCP和接受UDP之前必须调用bind函数。

    寻找插口和本地地址的连接。

    listen系统调用

    通知协议进程准备接受插口的请求。当由插口来了,listen就负责通知。

    还有tsleep函数,wakeup函数,accept函数sonewconn,soisconnested函数

    connect系统调用

    服务器进程调用listenhe accept调用等待远程初始化。进程愿意自己初始化,则调用connect函数。

    重点是connect处理过程。

    shutdown系统调用

    顾命思意就是,就是关闭插口通道。

    close系统调用

    关闭各类描述符。

    小结

    本节主要讲了网络操作相关的系统调用。但是插口层的他妈的具体在哪里,我目前还不是很明白。。。希望以后的学习中,可以补齐。

    今天状态不佳,。。

    千秋邈矣独留我 百战归来再读书
  • 相关阅读:
    梦断代码阅读笔记-01
    构建之法阅读笔记03
    寒假学习013-突如其来的被忘了的作业
    寒假学习012-安卓登陆注册
    寒假学习011-安卓连网
    寒假学习010-安卓联网初试
    寒假学习009-云服务器的使用
    构建之法阅读笔记02
    寒假学习007-activity1
    寒假学习006-activity
  • 原文地址:https://www.cnblogs.com/lordwind/p/10887085.html
Copyright © 2020-2023  润新知