网络编程的一些概念

关于网络编程的一些东西的小总结。

一.OSI模型和TCP/IP模型

OSI模型                                                                              TCP/模型

应用层

文件传输协议(FTP)

远程登录协议(Telnet)

电子邮件协议(NFS)

网络文件服务协议(NFS)

网络管理协议(SNMP)

应用层
表示层
会话层
传输层

TCP

UDP

传输层
网络层

IP      

ICMP

APP

PAMP

网络层
数据链路层

Ethernet IEEE 802.3

FDDI

Token-Ring/IEEE 802.5

ARCnet

PPS/SLIP

网络接口层
物理层硬件层

二.TCP和UDP

2.TCP、UDP的概念和区别

2.1.  概念

        TCP—传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。

        UDP—用户数据报协议,是一个简单的面向数据报的运输层协议。UDP是不保证可靠的无连接协议,因为不需要连接,所以可以进行高效率的传输。

2.2. 区别

(1)TCP是面向连接的,UDP面向无连接。

(2)UDP程序结构相对TCP较简单。

(3)TCP面向字节流,UDP面向数据报。

(4)TCP能保证数据正确性,UDP可能丢包。

(5)TCP保证数据顺序到达,UDP不能保证    。

3.简述的TCP、UDP优缺点

        TCP

                优点:可靠稳定(数据无误、无丢失、无失序、无重复性到达)。

                缺点:传输慢、效率低,占用系统资源,已被攻击。

        UDP

                优点:由于是无连接的传输,所以传输效率快、相对比TCP安全。

                缺点:不可靠、不稳定。

4.TCP、UDP实用场景

        TCP:传输一些对信号完整性和信号质量要求高的信息。

        UDP:对网络质量要求不高(例如:山区信号不好)或网络通讯速度要求快的场景。

5.TCP为什么是可靠连接?

        因为TCP传输的数据要满足3大条件:

        1)不丢失  

        2)不重复

        3)按顺序到达       

6. socket 套接字

        socket又称“套接字”,应用程序常通过它像网络发出请求,来使得进程间可以完成通信。

      socket类型

        (1)流式套接字(TCP)

        (2)数据报套接字(UDP)

        (3)原始套接字

7.端口号

        inet_addr();        将主机字节序(192.168.2.97)转换成网络字节序

        inet_ntoa();         将网络字节序转换成主机字节序。

8.IP地址

        htons();        主机字节序  ----->   网络字节序

        ntohs();        网络字节序  ----->   主机字节序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值