计算机网络-TCP/IP协议相关知识点
来源:互联网 发布:手机屏幕色彩校正软件 编辑:程序博客网 时间:2024/05/14 07:23
此次为准备腾讯的实习生面试而准备(移动客户端开发岗)。
TCP/IP 参考模型或者说体系结构:(从上往下)应用层、传输层、网络层/IP层、 网络接口层(数据链路层和物理层)。
重要概念:
应用层:实际是应用进程,协议有http,SMTP,ftp,DNS等(也可称为服务类型);客户-服务器方式:客户端是服务请求方,服务器是服务提供方。
传输层:协议有TCP,UDP;主机中两个进程之间(端到端)的通信;端口号(用来标志应用层的进程,如http的端口号是80,ftp的端口号是21);传输单位是报文段:TCP报文段 或UDP 用户数据报。
网络层:协议是IP协议;分组交换网上不同主机之间的通信;32位的IP地址;传输单位是分组或包:IP分组或IP数据报;选择合适的路由。
数据链路层:停止等待协议,ARQ等;相邻结点(主机或路由器)间通信;48位的物理地址;传输单位是帧。
物理层:透明地传输比特流(表示经实际电路传输后的比特流没有发生变化)。
几个知识点:
1. TCP与UDP 区别:
(1)概念:TCP是传输控制协议,UDP是用户数据报协议。
(2)可靠性:TCP面向连接,提供可靠交付;UDP无需建立连接,尽最大努力交付,不可靠交付。
(3)TCP报文段走的是可靠的全双工信道:有序、无差错、无丢失、无重复。
(4)传输大小:UDP每次传输的数据必须限定在64KB之内,TCP可以按照统一格式传输大量数据。
(5)传输效率:UDP没有拥塞控制,TCP传输效率不如UDP高,UDP适用于允许丢失一些数据但不允许太大时延的应用,如视频会议。
(6)TCP就像打电话,UDP就像写信。
2. TCP三次握手(建立连接):
(1)采用客户服务器方式建立连接。
(2)过程:客户端发送建立连接请求->服务器端同意并发回确认->客户端再发送确认(此时TCP连接已建立)。
(3)为什么要发送第三个报文段:主要防止已失效的连接请求报文段突然又传送到了服务器端(网络堵塞时,连接请求报文段可能被延误),因而产生错误。
3. TCP释放连接:
主机A发送连接释放请求->主机B同意并发回确认(此时连接处于半关闭状态:主机B不再接受主机A发送的数据,但主机A可以接受主机B发送的数据)->主机B发送连接释放请求->主机A同意并发回确认(此时TCP连接完全释放)。
4. TCP重要功能:
(1)流量控制:
TCP采用大小可变的滑动窗口进行流量控制(控制向网络注入分组的速率)。
(2)拥塞控制:
发送端利用发送窗口(这个窗口取决于对方的接收窗口)调节向网络注入分组的速率不仅是为了使接收端来得及接收,而且还是为了对网络进行拥塞控制;发送窗口的上限值=Min[ 接收端窗口,拥塞窗口 ]。
1)慢开始和拥塞避免:
2)快重传和快恢复
5. http协议(超文本传送协议):
http是一个面向事务的客户服务器协议,本身也是无连接的。注:事务指一系列的信息交换,而这一系列的信息交换是一个不可分割的整体,要么所有的信息交换都完成,要么一次交换都不进行。
详见参考文章:HTTP协议详解(真的很经典)
6. 路由器:只有下三层协议,没有传输层协议。
- 计算机网络-TCP/IP协议相关知识点
- 计算机网络 TCP/IP协议
- 计算机网络---TCP/IP协议
- 计算机网络协议相关(TCP/IP,UDP,HTTP协议)
- 计算机网络之tcp/ip协议
- TCP/IP相关知识点
- tcp/ip 相关知识点
- TCP/IP协议相关
- TCP/IP 协议相关
- 计算机网络--TCP协议面试知识点总结
- TCP/IP协议知识点整理
- 计算机网络之TCP/IP协议栈
- 计算机网络基础之TCP/IP网络协议
- 串行通信 计算机网络和TCP/IP协议
- 计算机网络 TCP/IP协议 三次握手
- 计算机网络之TCP/IP协议族
- 计算机网络中TCP、IP协议的对比
- 一、计算机网络之TCP/IP协议
- {小结}USACO NOV06
- HTTP 网络请求一般格式 YUQNetwork
- java第五节-类,对象,构造方法,静态-static,封装
- 用PriorityQueue解决选择最小的K个数问题
- (2)排序算法——插入排序
- 计算机网络-TCP/IP协议相关知识点
- 第36讲项目5——有多少符号
- ZOJ 3620 Escape Time II【dfs】
- 关于FMDB的基本使用
- 11.投票系统(3)
- Linux多线程编程小结
- Java中,如何调用“其他类的方法中生成的实例化的对象”的属性?
- 安装POSTMAN插件
- 3743加强版(有重复元素)(14年多校)(4911)