TCP协议学习记录

TCP协议学习记录

简述

对TCP有诸多疑惑的地方:
1、TCP和socket的关系
2、TCP客户端和服务端如何区分
3、TCP连接的两端,端口号需要一致吗

什么是socket

一种编程抽象
编写程序时,利用socket可以使用TCP;假设现在已经将TCP协议的规范用代码编写好了,只需要去使用它,就可以通过socket去使用;

TCP和socket的关系

socket为应用程序提供了一种使用TCP和其他网络协议进行通信的方式

TCP的客户端和服务端是基于什么来决定

tcp的连接需要由一方来发起,发起方需要知道对方的IP地址和端口号。
同时,对端也需要能够接受,这是一个等待的过程(监听)。
发起方为客户端,等待方为服务端。

假如有两个设备,建立了TCP连接,可以两个同时都是客户端和服务端吗

TCP协议的通信需要预先建立一个通信连接。
三次握手建立连接,四次挥手断开连接。
三次握手:
1、客户端→服务端:SYN
2、服务端→客户端:SYN/ACK
3、客户端→服务端:ACK 然后就建立好连接。
四次挥手:
1、A端→B端:FIN
2、B端→A端:ACK
3、B端→A端:FIN/ACK
4、A端→B端:ACK
断开连接的发起方既可以是客户端,也可以是服务端。

连接的建立,双方都确认了对方的端口号和IP地址。端口号是设备用来区分不同通信进程的。
一个设备的通信进程建立时,只能是客户端或者服务端。
于是
只需要建立两个通信进程,一个是以客户端身份建立,一个是以服务端身份建立即可。
当然,客户端和服务端的概念其实只在建立时有,建立好以后双方并无差别。所以我这是什么傻问题。

TCP连接的两端,端口号需要一致吗

不需要
端口号是设备用来区分本地通信进程的,也就是收到一个TCP报文,通过查看它的目的端口号,来得知它属于哪一个通信进程。

但还是有疑惑的地方,就是关于程序进程、通信进程、socket、TCP,这些所有之间的联系和区分,这应该要等我深入学习以后才能理解

相关推荐

  1. TCP协议学习记录

    2024-04-21 20:48:01       33 阅读
  2. <span style='color:red;'>TCP</span><span style='color:red;'>协议</span>

    TCP协议

    2024-04-21 20:48:01      52 阅读
  3. <span style='color:red;'>TCP</span><span style='color:red;'>协议</span>

    TCP协议

    2024-04-21 20:48:01      57 阅读
  4. <span style='color:red;'>TCP</span><span style='color:red;'>协议</span>

    TCP协议

    2024-04-21 20:48:01      40 阅读
  5. <span style='color:red;'>TCP</span><span style='color:red;'>协议</span>

    TCP协议

    2024-04-21 20:48:01      36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 20:48:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 20:48:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 20:48:01       87 阅读
  4. Python语言-面向对象

    2024-04-21 20:48:01       96 阅读

热门阅读

  1. python零基础入门 (9)-- 模块与包

    2024-04-21 20:48:01       35 阅读
  2. git 的基本命令行

    2024-04-21 20:48:01       39 阅读
  3. flutter知识点---三棵树

    2024-04-21 20:48:01       39 阅读
  4. Vue3: 获取元素DOM的方法

    2024-04-21 20:48:01       50 阅读
  5. excel文件预览: luckyexcel+luckysheet

    2024-04-21 20:48:01       135 阅读
  6. 大数据:【学习笔记系列】flink和spark的区别

    2024-04-21 20:48:01       38 阅读
  7. MASA Framework系列-核心概念(2)

    2024-04-21 20:48:01       30 阅读
  8. WPF中TextBox失去焦点事件

    2024-04-21 20:48:01       41 阅读