Linux网络编程|TCP编程

一.网络基础

1.1网络发展史

Internet-"冷战"的产物

1957年10月和11月,前苏联先后有两颗"Sputnik"卫星上天

1958年美国总统艾森豪威尔向美国国会提出建立DARPA (Defense Advanced Research Project Agency),即国防部高级研究计划署,简称ARPA

1968年6月DARPA提出"资源共享计算机网络" (Resource Sharing Computer Networks),目的在于让DARPA的所有电脑互连起来,这个网络就叫做ARPAnet,即"阿帕网",是Interne的最早雏形网络互联促成了TCP/IP协议的产生

早期的ARPAnet使用网络控制协议(Network Control Protocol,NCP),不能互联不同类型的计算机和不同类型的操作系统,没有纠错功能

1973年由Kahn和Vinton Cerf两人合作为ARPAnet开发了新的互联协议。

1974年12月两人正式发表第一份TCP协议详细说明,但此协议在有数据包丢失时不能有效的纠正

TCP协议分成了两个不同的协议:

用来检测网络传输中差错的传输控制协议TCP

专门负责对不同网络进行互联的互联网协议IP

从此,TCP/IP协议诞生

1.2局域网和广域网

(1)局域网(LAN)

局域网的缩写是LAN,local area network,本地的网络,只能实现小范围短距离的网络通信。我们的家庭网络是典型的局域网。电脑、手机、电视、智能音箱、智能插座都连在路由器上,可以互相通信。局域网,就像是小区里的道路,分支多,连接了很多栋楼。

(2)广域网(WAN)

广域网(Wide Area Network)是相对局域网来讲的,局域网的传输距离比较近,只能是一个小范围的。如果需要长距离的传输,比如某大型企业,总部在北京,分公司在长沙,局域网是无法架设的。广域网,就像是大马路,分支可能少,但类型多,像国道、省道、高速、小道等,连接了很多大的局域网。

优点:

第一,通过因特网,只需要办一根宽带,就实现了通信,非常方便,现在的宽带价格也比较便宜。

第二,通过广域网专线。为了数据安全,不能连接因特网,需要用一条自己的专用线路来传输数据,这条线路上只有自己人,不会有其他人接入,且距离很远,这个网络就叫 "广域网"。

(3)光猫

光猫是一种类似于数字调制解调器, 接入的是光纤专线,是光信号。用于广域网中光电信号的转换和接口协议的转换 ,接入路由器,是广域网接入。一端连接运营商的入户线缆,一般是光纤,一端连接你自己的路由器。是一个运营商到你自己设备的桥梁。

(4)交换机和路由器

交换机(数据链路层,依靠MAC地址):用于局域网内网的数据转发

路由器(网络层,需要IP寻址):用于连接局域网和外网,也能进行数据转发

TCP

TCP(Transmission Control Protocol)是一种网络传输协议,它位于 OSI 模型的传输层。TCP 是一种面向连接、可靠的协议,它通过无差错的数据传输和按序交付确保数据的可靠性。

TCP 通过建立一个连接来进行通信,该连接由一个源IP地址和端口号和一个目标IP地址和端口号组成。在建立连接之前,客户端和服务器之间需要进行三次握手来协商通信参数和确认彼此的状态。

一旦建立连接,数据可以通过 TCP 在网络上进行传输。TCP 提供了流控制、拥塞控制和错误校验等机制,以确保数据在传输过程中不会丢失、损坏或乱序。TCP 也能够适应网络的拥塞情况,自动调整传输速率来保证网络的稳定性。

TCP 是一种面向字节流的协议,它将数据划分为一个个的数据包进行传输。每个数据包都有一个序列号,接收方根据序列号将数据包按序重组,确保数据的准确性。

总结来说,TCP 是一种可靠的、面向连接的传输协议,适用于需要可靠数据传输的应用场景,如文件传输、电子邮件、网页浏览等。

相关推荐
eqwaak012 分钟前
Matplotlib 动态显示详解:技术深度与创新思考
网络·python·网络协议·tcp/ip·语言模型·matplotlib
不是三毛没有半14 分钟前
华为USG6000v2 NAT模式下IPSEC IKE V1 实验
网络·网络安全·华为
Techer_Y31 分钟前
云安全服务(参考自腾讯云工程师认证课程)
网络·云计算·腾讯云
cpsvps_net1 小时前
代理连接性能优化:提升网络效率的关键技术与实践
网络·性能优化
KKKlucifer1 小时前
网络安全等级保护:等级保护工作、分级保护工作、密码管理工作三者之间的关系
网络·安全·web安全
qq_401700412 小时前
Qt UDP 网络编程详解
网络·网络协议·udp
Android出海2 小时前
Google Play账户与App突遭封禁?紧急应对与快速重构上架策略
android·网络·重构·新媒体运营·产品运营·内容运营
油泼辣子多加2 小时前
HTTP 请求体格式详解
网络·网络协议·http
范紫涵-19期-工职大2 小时前
虚拟机之CentOS、网络设置的有趣问题
linux·网络·centos
TeleostNaCl3 小时前
OpenWrt | 在 PPP 拨号模式下启用 IPv6 功能
网络·经验分享·智能路由器·ip