博客
关于我
00023.06网络协议概述(IP地址、端口号、网络协议、TCP、UDP、三次握手)
阅读量:611 次
发布时间:2019-03-12

本文共 1322 字,大约阅读时间需要 4 分钟。

系列文章目录

文章目录

前言

C/S和B/S结构分别代表客户端-服务器和浏览器-服务器两种应用架构。C/S结构中,客户端是由开发者编写的程序,而B/S结构的客户端通常是通用浏览器。例如,QQ和微信属于C/S架构,而网页版的京东、淘宝则采用B/S架构。

一、网络的概念和分类

网络的概念涵盖了多个方面,包括物理连接、数据传输、设备配置等。严格来说,我们常说的"外网"实际上指的是互联网,而不是独立的局域网或企业网络。互联网是由多个网络通过路由器连接而成的全球性网络系统。

二、网络通讯的三个要素

(1)IP地址

IP地址是网络通信中最基础的地址信息,用于定位一台网络设备。每个网络设备(如电脑、手机、服务器等)都有一个唯一的IP地址,地址格式通常为四组数字,例如192.168.1.1。

(2)端口号

端口号用于区分不同的网络应用程序或服务。在TCP/IP协议中,每个端口号都是一个16位的数字,范围在0到65535之间。端口号的作用是帮助数据包在传输过程中找到正确的应用程序或服务。

(3)网络协议

网络协议是数据在网络上传输过程中确保准确到达并正确解析的关键机制。常见的网络协议包括TCP、UDP、HTTP、HTTPS、DNS等。TCP和UDP是传输层的核心协议,负责数据的可靠传输和无连接性传输。HTTP和HTTPS则是应用层的协议,用于网页数据的传输。

OSI网络模型

OSI(Open System Interconnection,开放系统互连参考模型)是国际标准化组织提出的一套网络模型,将网络功能分为七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。每一层都有特定的功能:

  • 物理层:负责数据的物理传输,包括信号的传递和介质的连接。
  • 数据链路层:处理数据的分组和错误检测,使用MAC地址进行通信。
  • 网络层:负责网络地址的转换和路由选择,常用协议包括IP、ICMP、ARP、RARP。
  • 传输层:定义数据传输的可靠性和流量控制,常用协议包括TCP和UDP。
  • 会话层:建立和管理会话,确保不同主机之间的通信。
  • 表示层:处理数据的编码和解码,包括压缩、加密等功能。
  • 应用层:提供用户面向的网络服务,常用协议包括HTTP、FTP、DNS、SMTP等。

TCP和UDP的区别

TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)是两种常用的传输层协议,主要区别如下:

  • TCP:面向连接,提供可靠的数据传输,适用于大数据量和重要数据的传输。TCP会先进行“三次握手”建立连接,并在数据传输前进行数据校验和重传。
  • UDP:无连接,传输速度快,适用于对实时性要求高但数据可靠性要求不高的场景。UDP不会进行连接建立,也不会重传数据。

三次握手与四次挥手

TCP的可靠性是由于三次握手和四次挥手机制得以实现的。在发送数据之前,TCP协议会通过三次握手建立连接,确保双方通信准备就绪。连接断开时,需要进行四次挥手,确保所有数据都已传输并释放资源。

注意事项

IP地址、端口号、网络协议、TCP、UDP的具体实现细节将在后续文章中详细讲解。

转载地址:http://kqgxz.baihongyu.com/

你可能感兴趣的文章
opencv putText中文乱码
查看>>
OpenCV Python围绕特定点将图像旋转X度
查看>>
opencv resize
查看>>
Opencv Sift和Surf特征实现图像无缝拼接生成全景图像
查看>>
opencv SVM分类Demo
查看>>
OpenCV VideoCapture.get()参数详解
查看>>
opencv videocapture读取视频cap.isOpened 输出总是false
查看>>
opencv waitKey() 函数理解及应用
查看>>
OpenCV 中的图像转换
查看>>
OpenCV 人脸识别 C++实例代码
查看>>
OpenCV 在 Linux 上的 python 与 anaconda 无法正常工作.收到未实现 cv2.imshow() 的错误
查看>>
Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)上
查看>>
opencv 模板匹配, 已解决模板过大程序不工作的bug
查看>>
OpenCV 错误:(-215)size.width>0 &&函数imshow中的size.height>0
查看>>
opencv&Python——多种边缘检测
查看>>
opencv&python——高通滤波器和低通滤波器
查看>>
OpenCV+Python识别车牌和字符分割的实现
查看>>
OpenCV-Python接口、cv和cv2的性能比较
查看>>
OpenCV/Python/dlib眨眼检测
查看>>
opencv1-加载、修改、保存图像
查看>>