在開始学习网络之前先复习下计算机网络基础吧。

鲁迅说,天下文章一大抄。看你会炒不会炒,基础知识就抄抄书吧。

一 分层模型

1 为什么分层

为了简化网络设计的复杂性。通讯协议採用分层结构。各层协议之间既相互独立又相互高效的协调工作。

对于复杂的通信协议。其结构应该是採用层次的。分层的协议能够带来非常多便利:

分层的优点有:

a> 灵活性好:当不论什么一层发生变化时,仅仅要层间接口关系保持不变,则在这层以上或下面各层均不受影响。

此外,对某一层提供的服务还可进行改动。当某层提供的服务不再须要时,甚至能够将这层取消。更easy管理。

b> 各层之间是独立的:在各层间标准化接口。同意不同的产品仅仅提供各层功能的一部分,某一层不须要知道它的下一层是怎样实现的,

而只须要知道该层通过层间的接口所提供的服务。

因为每一层只实现一种相对独立的功能,所以比較easy实现!

2 分层

标准七层结构和有用五层结构

socket详细相应那的应该是运输层和网络层。

二 socket简单介绍

socket即套接字。最原始的socket是继承unix系统中。后来微软推出了winsocket。

socket编程会中涉及到一些地址。port,字节序等概念,最好是了解下。

这里就直接说socket建立连接的过程了,如图:

大致分为三个大的步骤:

1 服务端监听

2 client请求连接

3 连接确认

下一节在具体的说具体的连接步骤吧。

socket编程之中的一个:计算机网络基础的更多相关文章

  1. 27、通过visual s'tudio 验证 SOCKET编程:搭建一个TCP服务器

    本文就是在windows下进行socket编程,搭建一个TCP客户端. 在visual studio下编程,首先在windows下进行初始化(这点在linux下是不需要的): /* 初始化 Winso ...

  2. Socket编程——怎么实现一个服务器多个客户端之间的连接

      package coreBookSocket; import java.io.IOException; import java.net.ServerSocket; import java.net. ...

  3. Socket编程回顾,一个最简单服务器程序

    第一次接触服务器是快毕业的时候,是不是有点晚(# ̄ω ̄),这也导致工作方向一直没考虑网络编程这块,做了好多其他没啥“意思”的技术. 之前看到一篇博文提到程序猿80%都是庸才,10%是人才,10%是天才 ...

  4. C#socket编程之实现一个简单的TCP通信

    TCP(TransmissionControl Protocol)传输控制协议. 是一种可靠的.面向连接的协议(eg:打电话).传输效率低全双工通信(发送缓存&接收缓存).面向字节流.使用TC ...

  5. jquery-mobile 学习笔记之中的一个(基础属性)

    写在前面 本文是依据w3c 学习轨迹,自己研习过程中记录下的笔记,仅仅供自己学习轨迹记录之用,不喜勿喷. 0 引入库 引入相应的文件: <link rel="stylesheet&qu ...

  6. Android应用开发提高篇(4)-----Socket编程(多线程、双向通信)

    链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/04/2379628.html 一.概述 关于Socket编程的基本方法在基础篇里已经讲过,今天把 ...

  7. 【VS开发】socket编程原理

    socket编程原理 1.问题的引入 1) 普通的I/O操作过程: UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-rea ...

  8. Go语言系列- Socket编程和Redis

    Socket编程 一.socket编程概述 什么是socket编程? socket编程是计算机PC机器上2个程序通过一个双向的通信连接实现数据的交互,这个连接的一端就是一个socket.socket的 ...

  9. winsock教程- windows下的socket编程(c语言实现)

    winsock教程- windows下的socket编程(c语言实现) 使用winsock进行socket 编程     这是一个学习windows下socket编程(c语言)的快速指南.这是因为一下 ...

随机推荐

  1. [JZOJ3383] [NOIP2013模拟] 太鼓达人 解题报告(数位欧拉)

    来源:XLk 摘录 HDU2894 Description 七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行.这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是刚刚被精英队 ...

  2. Wow C++11

    什么是C++11? 一句话C++11是最新的C++标准,在2011年发布,所以叫C++11.在新的标准出现前,我们一直在用的是C++98,可想而知这份标准是1998年发布的,之后再2003年最过小的修 ...

  3. HDFS的安全模式

  4. 【DNN控件】

    <dnn:DNNDataGrid ID="show" runat="server" DataSourceID="ObjectDataSource ...

  5. 001.TypeScript简介.md

    TypeScript是一门开源的,由微软开发维护的,发布于2012年10月的静态类型的语言: 他是ECMAScript的超集,支持JavaScript的所有语法和语义,并且在此基础之上提供了更多额外的 ...

  6. js parseFloat 精度问题

    <script type="text/javascript"> //parseFloat function actionoftext(){var price = 10. ...

  7. nginx的Rewrite重写

        location /{                if ($remote_addr=192.168.1.100){                          //禁止此 ip 访问 ...

  8. [BZOJ2821]作诗(分块)

    题意 N个数,M组询问,每次问[l,r]中有多少个数出现正偶数次对于100%的数据,1≤n,c,m≤105 题解 (传说lyd省选的时候看错题   把题看成这个了   从此又多了一道分块神题)把N个数 ...

  9. caioj 1071 动态规划入门(二维一边推4:相似基因) (最长公共子序列拓展)

    复制上一题总结 caioj 1069到1071 都是最长公共字序列的拓展,我总结出了一个模型,屡试不爽    (1) 字符串下标从1开始,因为0用来表示字符为空的情况,而不是第一个字符     (2) ...

  10. 洛谷——P3368 【模板】树状数组 2

    https://www.luogu.org/problem/show?pid=3368 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的和 输入 ...