• 《计算机网络中port和socket的作用》


      首先需要了解:

      ip层提供的是主机到主机的数据传输服务,而传输层提供的端口到端口的数据传输服务。

    1.端口是什么?

      在我们进行socket(TCP)编程的时候,当我们创建调用socket的API成功时候,会得到一个整型的返回值welcome_sock。可以理解为一个句柄.

      然后指定一个端口(假如端口号为8888),然后与ip(假如IP为192.168.1.1)进行bind。

      那么这个时候welcome_sock就和8888与192.168.1.1就是绑定在一起的了。

      之后调用accept,监听welcome_sock,等待客户端连接。当客户端连接后,会再返回一个client_sock,这个时候client_sock除了绑定源端口和源IP(8888与192.168.1.1),还会绑定目标端口和目标IP。(需要注意的是对于客户端,8888与192.168.1.1是属于目标端口和目标IP)

      那么这个时候,这个client_sock就是一个四元组标识着源端口、源IP、目标端口、目标IP,当客户端有数据发送过来,就可以根据客户端的目的端口,服务器端就可以找到对应的进程。

      也就是端口是进程的标识

    2.socket是什么?

      根据上述来讲,socket是一个四元组,用来标识源端口、源IP、目标端口、目标IP。

      在我们应用层编程的时候,发送数据的时候,只需要调用send(socket,buf,sizeof(buf),0),不需要每次填写源端口、源IP、目标端口、目标IP。就可以把数据从应用层传到传输层进行数据封装。这样就减少层次之间数据传递。应用层只需要传要传输的数据。到传输层后,会根据socket添加对应的端口信息,到网络层,会再根据socket添加对应的ip。

  • 相关阅读:

    list集合
    接口
    抽取对象的基本方法
    访问修饰符
    构造方法
    如何弹出一个对话框
    nginx反代配置
    TreeMap排序
    BeanPropertyRowMapper
  • 原文地址:https://www.cnblogs.com/zhuangquan/p/15581927.html
Copyright © 2020-2023  润新知