TCP/IP网络协议

隐身守侯 提交于 2020-02-27 18:56:10

TCP/IP基本概念

1.网络协议:网络协议简称为协议,是为进行网络数据交换而建立的规则、标准或约定
(针对不同的需求,有不同的网络协议,网络协议有很多种)。
2.计算机网络的体系结构:计算机网络的体系结构是计算机网络的层次的划分及其各层
协议的集合。体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。

3.三种计算机网络的体系结构
在这里插入图片描述

1)应用层:该层负责应用程序之间的沟通。
主要协议有简单邮件传输协议(SMTP)、文件传输协议(FTP)、以及网络远程访问协议
(Telnet)等。

在这里插入图片描述

2)传输层:该层提供应用程序之间的通信服务,主要功能是数据格式化、数据确认和
丢失重传等。给数据包加入传输数据并把它传输到下一层中。
主要协议:传输控制协议(TCP)、用户数据报协议(UDP).
端口号:用于区分不同的应用程序。

在这里插入图片描述

3)网际层:主要功能是把数据报通过最佳路径送到目的端,但它不检查数据包是否
被正确接收。
网际层的核心协议——IP,提供了无连接的数据报传输服务(不保证送达,不保序)。
其他重要协议:ICNPARP
IP地址:用于表示网络中的不同主机和设备。
(4)网络接口层:负责数据的实际传送,在发送端将上层的IP数据报封装成帧后发送到
网络上;在接收端负责从网络上接受数据。

在这里插入图片描述
在这里插入图片描述

传统的网络编程技术简介

在这里插入图片描述

传统网络编程技术中,需要添加命名空间System.Net.Sockets的引用。
1.在套接字级别进行控制,直接用该命名空间下的Socket类。
2.提供的TcpClient类、TcpListener类和UdpClient类:封装了不同传输协议建立连接
的实现细节,提供了多种传输数据的操作方法。
()套接字编程(Socket类)
1.套接字是支持TCP/IP网络通信的基本操作单元;
(1)一个套接字实例中保存有本机的IP地址和端口、对方的IP地址和端口、双方通信采用
的网络协议等信息。
2.套接字有3中不同的类型
(1)流式套接字:实现面向连接的TCP通信
(2)数据报套接字:实现无连接的UDP通信
(3)原始套接字:实现IP数据包通信
3.基于TCPUDP的应用程序中,可以使用TcpListener类、TcpClient类、UdpClient类
或Socket类实现。而编写自定义的新网络协议程序时,则只能用Socket类来实现。
(二)TCP应用编程(TcpClient类、TcpListener类)
1.IP连接领域有两种通信类型:面向连接的和无连接的。
2.在面向连接的套接字中,使用TCP来建立两个IP地址端点之间的会话。一旦建立了这种
连接,就可以在设备之间进行可靠的数据传输。
3.TCP应用编程具体实现上:服务端使用TcpListener类,客户端使用TcpClient类;或者
全部使用Socket实现。
(三)UDP应用编程(UdpClient类)
1.UDP使用无连接的套接字,无连接的套接字不需要在网络设备之间发送连接信息。因此,
在程序中很难确定有哪些服务器和客户端。
2.具体实现:UdpClient类是在UDP层面对套接字编程的进一步封装。
(4)其他传统的网络应用编程技术
	HTTP应用编程
	FTP应用编程
	SMTPPOP3应用编程
	P2P应用编程

学习详细的讲解:
TCP/IP协议通信过程
TCP与UDP的区别(Socket)
TCP/UDP/IP

特别注意

仅供参考学习,转载请附上原文链接
图片来源于网络、个人收藏、个人制作
该篇文章不做任何商业用途,纯属分享学习心得,如有侵权,望联系本人处理
还在读大学的程序员,项目经验少,如有纰漏,感谢指正
需要源代码请私聊联系本人
谢谢配合

如果这篇文章对您有帮助,小小的点个赞,算是给小学弟的鼓励吧!谢谢大佬!!/呱呱.jpg

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!