网络编程 socket 套接字

本文介绍了TCP/IP协议的基础知识,重点讲解了TCP协议的三次握手过程和数据报头的组成,强调了TCP的可靠性和流量控制。此外,还简单概述了UDP协议的特点和应用。
  1. LINUX网络编程基础知识
    1.1. TCP/IP协议概述
    协议protocol:通信双方必须遵循的规矩 由iso规定 rpc文档

osi参考模型:(应-表-会-传-网-数-物)

è 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层

tcp/ip模型4层:

应用层{http超文本传输协议 ftp文件传输协议 telnet远程登录 ssh安全外壳协议 stmp简单邮件发送 pop3收邮件}

传输层{tcp传输控制协议,udp用户数据包协议}

网络层{ip网际互联协议 icmp网络控制消息协议 igmp网络组管理协议}

网络接口层{arp地址转换协议,rarp反向地址转换协议,mpls多协议标签交换}

TCP协议:传输控制协议 面向连接的协议 能保证传输安全可靠 速度慢(有3次握手)

UDP协议:用户数据包协议 非面向连接 速度快 不可靠

通常是ip地址后面跟上端口号:ip用来定位主机 port区别应用(进程)

http的端口号80 ssh–>22 telnet–>23 ftp–>21 用户自己定义的通常要大于1024

1.2. TCP协议
(1) 概述

TCP是TCP/IP体系中面向连接的运输层协议,它提供全双工和可靠交付的服务。它采用许多机制来确保端到端结点之间的可靠数据传输,如采用序列号、确认重传、滑动窗口等。

首先,TCP要为所发送的每一个报文段加上序列号,保证每一个报文段能被接收方接收,并只被正确的接收一次。

其次,TCP采用具有重传功能的积极确认技术作为可靠数据流传输服务的基础。这里“确认”是指接收端在正确收到报文段之后向发送端回送一个确认(ACK)信息。发送方将每个已发送的报文段备份在自己的缓冲区里,而且在收到相应的确认之前是不会丢弃所保存的报文段的。“积极”是指发送发在每一个报文段发送完毕的同时启动一个定时器,加入定时器的定时期满而关于报文段的确认信息还没有达到,则发送发认为该报文段已经丢失并主动重发。为了避免由于网络延时引起迟到的确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值